How fatma-404/repflow works
RepFlow is a Flet MVP for side-view push-up coaching. Its documented user flow is welcome → camera/setup and rep goal → live spotting → set summary. The sampled runtime modules provide pose inference, rep counting, form analysis, and cue throttling, but the excerpts do not show main.py wiring those modules together or performing camera capture/audio playback. The graph therefore preserves documented screens and runtime capabilities without asserting uncertain connections.
Main entry points: pose_engine.py Pose estimation · main.py Camera setup · form_analyzer.py Form analysis · feedback.py Cue throttling
Components 13
Workout app
- Welcome screen
main.py - Camera setup
main.py - Live workout HUD
main.py - Set summary
main.py - Session state
main.py
Movement analysis
- Pose estimation
pose_engine.py - MoveNet model
models/movenet_lightning.tflite - Rep counter
rep_counter.py - Form analysis
form_analyzer.py
Coaching logic
- Cue throttling
feedback.py
Other components
- Athlete
- Camera frames
- Audio output
Connections 12
- Athlete → Welcome screen: opens app
- Welcome screen → Camera setup: starts workout
- Camera setup → Session state: sets rep goal
- Camera setup → Live workout HUD: continues
- Live workout HUD → Session state: shows session
- Session state → Set summary: summarizes state
- Camera frames → Pose estimation: supplies frames
- Pose estimation → MoveNet model: runs inference
- Pose estimation → Rep counter: keypoints input
- Pose estimation → Form analysis: keypoints input
- Form analysis → Cue throttling: cue text
- Cue throttling → Audio output: dispatch hook