About this build
Critical constraints satisfied
- No static workout database and no exercise catalog.
- Workouts and exercise media are generated at runtime via AI.
- Only ephemeral session memory is used to avoid repeating recent muscle groups.
- Last-used settings stored in browser localStorage, not a database.
AI provider swapping
The backend uses an AIProvider interface. Switch providers by setting AI_PROVIDER.
If Azure OpenAI image generation is not configured, the app generates animated SVG previews dynamically.
Production note: for image/video generation at scale, use transient blob caching with short TTL and signed URLs.