- real-time rep tracking and analysis
- iOS + Android from one React Native codebase
- async scalable concurrent users
Strap a sensor to a weight and the app tells you how good your set actually was. Embedded to cloud to mobile, built in a month.
- Sensing. A Raspberry Pi collecting accelerometer and magnetometer data, with signal-processing routines segmenting the raw stream into individual reps.
- Backend. An AWS EC2 instance running Flask, persisting workouts to DynamoDB, with asynchronous handling so a scalable number of users can train concurrently.
- Model. A custom-trained model scoring rep quality rather than rep count, so the feedback is about form.
- App. React Native for iOS and Android, with live tracking, graphical results and dynamic control of the session.
The constraint was latency. Feedback that arrives after the set is a report, not coaching, so sensing, segmentation, inference and the round trip all had to fit inside a window short enough to feel immediate. Most of the work was deciding what ran on the Pi and what ran in the cloud.