How dalaixlmao/whoomz works
Whoomz is a fitness-tracking product with a FastAPI backend and Android/iOS Flutter platform shells. The principal workflow is a user sending fitness data or a coaching message to the API, which supports food, workout, and weight tracking and AI chat; a scheduled job also creates daily progress notes. The graph includes the documented route capabilities, but most route/service implementations and mobile application code were not sampled, so their internal wiring is left unspecified.
Main entry points: main.py FastAPI app · chat_service.py Chat service · scheduler_service.py Daily job · service.py AI service
Components 24
API and clients
- Mobile shells
frontend - FastAPI app
backend/app/main.py - Health route
backend/app/routers/health.py
Fitness tracking
- Food logs
backend/app/routers/food_logs.py - Workouts
backend/app/routers/workouts.py - Weight logs
backend/app/routers/weight_logs.py - Food service
backend/app/services/food_log_service.py - Workout service
backend/app/services/workout_service.py - Weight service
backend/app/services/weight_log_service.py
AI coaching
- Chat route
backend/app/routers/chat.py - Chat service
backend/app/services/chat_service.py - Voice route
backend/app/routers/voice.py - Voice service
backend/app/services/voice_service.py - AI service
backend/app/services/ai/service.py - AI providers
backend/app/services/ai
Identity
- Auth route
backend/app/routers/auth.py - Auth service
backend/app/services/auth_service.py
Progress summaries
- Scheduler route
backend/app/routers/scheduler.py - Daily job
backend/app/services/scheduler_service.py - Daily notes
backend/app/routers/daily_notes.py - Notes service
backend/app/services/daily_note_service.py
Other components
- User
- Supabase
- Supabase Auth
Connections 26
- User → Mobile shells: uses
- Mobile shells → FastAPI app: sends requests
- FastAPI app → Health route: routes
- FastAPI app → Food logs: routes
- FastAPI app → Workouts: routes
- FastAPI app → Weight logs: routes
- FastAPI app → Chat route: routes
- FastAPI app → Voice route: routes
- FastAPI app → Auth route: routes
- FastAPI app → Scheduler route: routes
- FastAPI app → Daily notes: routes
- Food service → Supabase: reads/writes
- Workout service → Supabase: reads/writes
- Weight service → Supabase: reads/writes
- Chat service → AI service: streams
- Chat service → Food service: logs food
- Chat service → Workout service: logs workouts
- Chat service → Supabase: fetches context
- Voice service → AI service: streams
- AI service → AI providers: delegates
- Auth service → Supabase Auth: authenticates
- FastAPI app → Daily job: schedules job
- Daily job → Supabase: reads activity
- Daily job → AI service: generates note
- Daily job → Notes service: inserts note
- Notes service → Supabase: reads/writes