We built an on-device pipeline that separates exercise recognition from repetition counting, designed for busy gym backgrounds, varied clothing and uneven lighting.
- 98% rep-count accuracy within ±1 rep across 12 measured exercise classes.
- 30 FPS sustained on-device inference on Pixel 6a.
- Under 200 ms from motion peak to the on-screen counter increment.
- 14 weeks to a production-ready app, with 400+ beta users across three cities.
Technical approach: movement analysis
Camera frames become a 17-point pose skeleton. An action recogniser reads a rolling keypoint buffer; a separate cycle detector counts repetitions for the recognised exercise.
Pose extraction and action recognition run asynchronously at different frequencies so the preview stays responsive. Keeping the pipeline on the phone removes the network round-trip and keeps workout video on-device.
The measured rep-count result covers 12 exercise classes. Device performance is scoped to Pixel 6a.
