Every view, every screen, every state.
Landing Page
Web Client
iOS - Splash
SwiftUI Onboarding
Dashboard
Progress Overview
iOS - Tracking
Daily Log View
AI Coach
Gemini 2.0 Flash
iOS - Progress
Training Stats
Food Tracker
Barcode + Manual Entry
Auth Flow
Signup & Login
Profile
Macro Targets + Stats
Under the hood.
12-Step Onboarding Wizard
A guided onboarding flow collects height, weight, age, activity level, and goals. BMI, TDEE, and macro targets are computed client-side and stored to the user profile.
Barcode Scanning via FatSecret
The iOS client uses the camera to scan barcodes. Product data is resolved via the FatSecret API, pre-populating nutrition info for one-tap food logging. The web client supports manual entry.
Gemini 2.0 Flash AI Coaching
The AI coach sends context-aware prompts to Gemini 2.0 Flash, including recent workouts, current macros, and goals. Responses are streamed in real time and saved to coaching history.
SwiftUI + HealthKit on iOS
The native iOS client syncs steps, active calories, and workout data from HealthKit. Progress photo compare mode stores photos locally with date metadata for visual tracking.
Shared Monorepo API
A single Express + Node.js API serves both the web client and iOS app. MongoDB stores user data, logs, and coach history. It is hosted on DigitalOcean with environment parity between dev and prod.
Single Express API shared between web and iOS with zero code duplication
Gemini 2.0 Flash streams coaching responses in real time with full user context
SwiftUI progress photo compare mode for side-by-side visual progress tracking
Barcode scanner auto-resolves nutrition data with no manual entry required
Exerly Fitness
In active development.







