Strong AI is a cross-platform fitness tracking app with a built-in AI coach. It lets you log workouts, track personal records, schedule routines, and have real-time conversations with an AI that knows your actual training history, goals, and injury context.
- Log sets, reps, weight, duration, and distance for any exercise
- 13 exercise kinds (Barbell, Dumbbell, Machine, Weighted Bodyweight, Cardio, etc.) with per-kind field rules — no irrelevant inputs
- Live workout timer and session management
- Automatic personal record detection on completion
- Global exercise database seeded with categorized movements
- Create custom exercises with body part tags and category
- Filter by category, body part, and kind
- 20+ body part targets across 8 training categories (Strength, Cardio, Mobility, Plyometric, etc.)
- Save workouts as reusable templates with default sets
- Schedule planned workouts on specific dates
- Recurring workout patterns (daily, weekly, etc.)
- One-tap "start from template" to pre-fill a session
- Tracks PRs per exercise: 1RM, max weight, max reps, max volume, best duration/distance
- PR history over time, queryable by the AI coach
- Conversational AI coach with full access to your training data via tool calls
- Tools cover: exercise lookup, workout history analysis, PR queries, schedule inspection, profile/goal context
- Responses are grounded in your real data — not generic advice
- Streaming output delivered token-by-token over WebSocket
- Multi-turn conversations with persistent history
- Auto-named conversation threads
- AI extracts structured insights (injuries, strengths, training phase) from your profile narrative
- Onboarding flow captures training background, goals, injuries, and experience level
- Profile settings editable at any time
- AI reads profile insights when building coaching context
- Email + password registration and login
- Apple Sign-In
- JWT access tokens with silent refresh
- WebSocket connection pushes database changes to all connected clients
- Edits on one device appear instantly on another
- Stores re-fetch reactively on relevant change events
The app uses a dark, high-contrast aesthetic suited for gym environments — readable under bright lights with a single hand. The UI prioritizes fast input: adding a set is a single tap, weight/reps update inline with minimal chrome. Navigation is tab-based with no deep nesting for the most-used flows. The AI chat interface sits alongside the tracker as a peer feature, not an afterthought.
Tone in the AI responses is direct and data-informed. The coach cites your actual numbers rather than speaking in generalities.
- Make workout logging fast enough that you actually do it between sets
- Give the AI coach real context (your history, PRs, schedule, injuries) so its advice is actionable
- Support a full training lifecycle: plan → execute → review → adjust
- Run natively on iOS and Android with a shared codebase, no capability compromise
┌─────────────────────────────────┐ WebSocket / REST
│ React Native + Expo (Frontend)│ ◄──────────────────► ┌──────────────────────────┐
│ iOS · Android · Web │ │ FastAPI Backend │
└─────────────────────────────────┘ │ Python · MongoDB │
└──────────────────────────┘
│
┌──────────────────────────┐
│ AI Service (services/ai)│
│ OpenAI · Tool Loop │
└──────────────────────────┘
Stack: React Native · Expo 54 · TypeScript · Expo Router · Zustand · Axios
File structure:
frontend/
├── app/ # Expo Router screens (file-based routing)
│ ├── (auth)/ # Login, registration