Visit my Portfolio! →

iOS.

iOS app @sushrutalgs.ai

Built the native iOS app for sushrutalgs.ai, an AI study companion that answers surgical-exam questions with streaming responses backed by citations, figures, and tables from standard textbooks. It ships three sign-in options, conversation history that syncs across a user's devices, and an iPhone and iPad interface.

Source is private; sushrutalgs.ai is a live product. Happy to walk through the code or grant read access on request.

Links

  • live product↗
  • Request repo access→

Stack

  • Swift 6
  • SwiftUI
  • supabase-swift
  • Google Sign-In
  • Sign in with Apple
  • Xcode Cloud
Streaming chat with a cited answer.
Inline textbook figures with citations.
Citations grouped by source textbook.
New chat and the textbook picker.

System architecture. Tap to enlarge.

Overview

The iOS app is the native client for sushrutalgs.ai. It gives surgery residents a fast, polished way to study on iPhone and iPad: ask a question, watch the answer stream in with citations, figures, and tables, and pick up the same conversation on another device.

Approach

  • Native and modern. SwiftUI only, iOS 26, Swift 6 strict concurrency, with a Model-View architecture and observable services injected at the root.
  • Streaming chat. A five-type server-sent-events protocol drives a per-bubble typewriter reveal, with cross-device handoff broadcast over a Supabase Realtime channel.
  • Secure auth. Email one-time codes, Google Sign-In, and Sign in with Apple, all exchanged through Supabase with nonce-based replay protection.

Results

About 33,200 lines of Swift across 105 files and 80 views, shipping at a 20.8 MB App Store install size. A CI security gate fails any build that would leak a backend host or secret, and the conversation model and streaming protocol are shared one-to-one with the web client.

Engineering

Swift 6 and SwiftUI with Swift Package Manager, supabase-swift for auth, Realtime, and database access, GoogleSignIn and Sign in with Apple for identity, and Xcode Cloud for CI. It is a leaf client: all model inference goes through the sushrutalgs.ai BFF, so it holds no backend secrets.