The user problem
Workout products often split planning, active logging, progress review, trainer support, and health context across separate tools. Coach explores what a single cross-platform product system can look like when those jobs are connected.
The product decision
The web app handles hosted workflows such as onboarding, templates, workout sessions, calendar, progress, friends, profile, admin, and trainer flows. Native apps bring the experience closer to the workout with Apple Health, Health Connect, widgets, Live Activities, and device-specific interaction patterns.
What I built for web
The Next.js app uses App Router, Vercel, Supabase Auth, Supabase Postgres with Row Level Security, mobile web/PWA behavior, demo mode, trainer directory, bookings, chat, packages, and owner/admin workflows.
What I built for iOS
The SwiftUI app includes auth/session restore, onboarding, tabbed navigation, workout start/resume, set logging, progress dashboard, Apple Health steps and insights, Live Activities, Dynamic Island surfaces, widgets, and personal training discovery.
What I built for Android
The Android surface uses Kotlin, Jetpack Compose, Material 3, Room, WorkManager, secure crypto storage, Health Connect/Fitness libraries, Supabase auth/postgrest, and a configurable Coach web URL.
Why this matters to my product practice
Coach is where I test product decisions end to end: from the user workflow and platform choice to implementation details and the experience in someone’s hand.