Project
Strong Human
AI-powered fitness and nutrition app with photo-based food logging, built with Flutter and Firebase.
Session timeline
The complete record.
Verified the latest Strong Human masterlog already covers the implementation/release batch through TestFlight builds 21-23. · Confirmed GitHub main is clean and current with origin.
Theo Live voice onboarding: real Gemini Live voice (Enceladus) via Cloud Run proxy — WebSocket session engine, 16kHz mic streaming, gapless 24kHz PCM playback, barge-in interruption, live set_field form filling with haptics, context-aware opening from signup data, completion loop over missing fields, auto-save on confirm, fallback to record-extract flow · Phone-review UX batch (12 screenshot items): client meal detail gallery (+ fixed coach 0g macros bug), removed duplicate photo buttons, removed scale-photo step, reminders APNs wait fix, Coach view to top center, Profile progress + meal-schedule cards, weekly card tap-expand/swipe-dismiss, alphabetized roster, chart label overflow fix, workout dates (Wed 7/1), daily-targets block with muted off pills, Invite client rename
Full 5-agent codebase audit (security, Cloud Functions, Flutter, product loop, known-issues) with prioritized report at docs/theo-audit-2026-07-01.md · Backend hardening: meal-photo path ownership validation (cross-client leak), per-uid rate limits + maxInstances on Gemini callables, guarded Gemini JSON parsing + response sanitization, transactional signup/onboarding (TOCTOU races), fail-closed coach routing (seeded-coach hijack), scheduled-function per-client isolation, meal-reminder suppression fix, idempotent meal saves, 2 new composite indexes
Strong Human web pivot: full Next.js 16 PWA from zero (auth, Today, Meal log w/ Gemini photo analysis) · Voice onboarding for Bret (Pack-with-Theo pattern): Cloud Run proxy + AudioWorklet + Gemini Live tool calls + complete_onboarding flow
Root-cause analysis of phone auth crash (parallel Explore + Plan agents) — found missing OAuth client + REVERSED_CLIENT_ID · Phone auth fix: Firebase Console Google Sign-In enable, fresh GoogleService-Info.plist with CLIENT_ID + REVERSED_CLIENT_ID, Info.plist URL scheme, iosClientId in firebase_options.dart
Bundle ID migration (com.aitheos.strongHuman → com.aitheos.stronghumandaily) across iOS, Android, and Firebase · TestFlight distribution pipeline — archive, export, upload, internal testing group, device registration (2 iPhones)
Product discovery, competitive analysis, and system architecture for Strong Human Daily (fitness + food coaching app for Bret at Strong Human Fitness) · Full Flutter iOS + Android app: 11 client screens (phone auth, meal logging with Gemini AI photo analysis, workout logging with photo proof, weigh-in, calorie ring gauge home screen, streak counter, water tracker, meal history feed, profile) + 4 coach screens (dashboard, tinder-style review queue, client detail dashboard, voice onboarding)