← All postsView related recordings ↓
AI2SEE
Case Study Fitness Tech Computer Vision
Consumer Fitness App · On-Device Computer Vision

We gave a gym app eyes — 30 FPS rep counting, zero wearables, fully on-device.

A fitness startup needed a phone camera that could recognize exercises and count reps in real time. No cloud. No hardware. Just computer vision that works inside a sweaty gym.

Gym Rep Counter demonstration
On-device exercise recognition and rep counting
98%
Rep-count accuracy across 12+ exercise classes
30fps
On-device inference · no cloud round-trip
14wks
Kickoff → production-ready app
Delivery timeline
Wk 0
Scoping & data audit
Wk 3
Working PoC on real device
Wk 8
30 FPS milestone hit
Wk 14
Beta launch · 400 users

Gym tech relies on hardware. We were asked to remove it.

A consumer fitness startup had a simple — and genuinely hard — product brief: a phone propped on a gym shelf that recognises your exercise and counts every rep, with no wearables, no chest strap, and no internet connection.

Their existing options were either cloud-dependent (unworkable in gyms with patchy Wi-Fi) or wearable-dependent (hardware cost killed conversion). What they needed was a computer vision system capable of real-time inference on a mid-range Android — a device with roughly a hundredth of a server GPU's compute budget.

Every approach they had tried before either ran too slowly to be useful in-session, broke under real gym conditions (poor lighting, busy backgrounds, varied clothing), or required per-user calibration that killed the out-of-box experience.


A two-stage on-device pipeline, purpose-built for the constraints.

We designed a pipeline that separates what the person is doing from how many times they've done it — two distinct inference problems that each have a right-sized answer. Decoupling them meant we could tune each independently without touching the other, and swap components as the hardware targets changed.

Pipeline — camera to counter
Camera Input
30 FPS · square crop · normalised
RGB frames
→
Pose Extraction
17-point skeleton · <8 ms/frame
keypoints
→
Action Recognition
Rolling buffer · runs at 4–6 Hz
exercise label
→
Rep Counter
Cycle detection · <200 ms lag
rep count ✓
  • 01Replaced raw video with skeleton sequences as the model input. Running pose estimation first strips away everything the gym environment does to confuse a model — bad lighting, moving backgrounds, varied clothing. The result is an input that's stable across locations and people.
  • 02Ran action recognition asynchronously on a background thread. The recogniser sees a rolling window of skeleton frames and emits a stable exercise label 4–6 times per second — fast enough to react, slow enough not to thrash. It never blocks the camera thread.
  • 03Used a cycle-detection approach with linear — not quadratic — time complexity. Most repetition counters compare every frame against every other frame, which gets expensive fast. Our counter uses a smarter representation of motion cycles that stays fast even during a 45-minute session.
  • 04Built a graceful degradation layer for low-end devices. On chipsets below a defined benchmark, the system steps down to a lighter pose model and adjusts the frame budget — staying useful at 24 FPS rather than dropping to something unusable.
  • 05Fine-tuned the entire pipeline on client-collected gym footage. Benchmark datasets capture controlled lab conditions. We collected ~40k clips of real gym-environment reps and used them to close the gap between academic accuracy and production accuracy.
Phase 01

Data Foundation

Audit of available data, gap analysis, data collection protocol for gym-environment clips, annotation pipeline.

Phase 02

Model Development

Pose backbone selection, exercise classifier fine-tuning, rep-counting module development, thread-budget profiling.

Phase 03

On-Device Optimisation

Model quantisation, runtime export, device-tier benchmarking, thermal stress testing across 20+ handsets.

Phase 04

SDK & Integration

Native mobile SDK (iOS + Android), API surface for form feedback, workout summary module, beta instrumentation.


98% accuracy. Real gyms. Mid-range phones. No cloud.

98%
Rep-count accuracy within ±1 rep across all 12 exercise classes
30fps
Sustained on-device inference, Pixel 6a and above
<200ms
Latency from motion peak to on-screen counter increment
400+
Beta users across 3 cities — zero calibration required

The app passed the client's internal "shelf test" — propped 8 feet away against gym equipment, counting through 12 exercises across six testers without manual recalibration. Thermal headroom after a 45-minute continuous session stayed within spec on every test device. The beta hit their internal accuracy threshold (≥95% within ±1 rep) in the first week of user testing.


How the system is structured under the hood.

We don't publish model names or exact architectures publicly — the stack is a competitive advantage for the client. What we can share is the structural logic, which applies to any project in this class.

Stage 1 · Recognition

Action Classification

A compact video-understanding model fine-tuned on skeleton sequences. Optimised for the project’s exercise taxonomy — not a general-purpose benchmark model running on a server.

Stage 2 · Counting

Temporal Cycle Detection

A counting module that detects motion cycle boundaries with complexity that scales linearly — not quadratically — with session length. Critical for sessions over 10 minutes.

Thread Mgmt

Async Inference Orchestration

A producer-consumer architecture that keeps the camera thread at 30 FPS while model inference runs asynchronously on a background thread — the standard pattern for mobile CV.

Deployment

Native Mobile SDK

Exported to a mobile-optimised runtime, quantised to 8-bit where precision allowed, and wrapped in a clean SDK surface the client's iOS and Android engineers could integrate in a sprint.

Computer Vision Pose Estimation Action Recognition On-Device ML Mobile SDK Model Quantisation MLOps

These related movement recordings show tracking and keypoint overlays. They are separate projects, not footage of the gym app or evidence of its phone-performance and rep-count results.

AI2SEE · Proven in weeks, not years

Building something similar?

We work with teams shipping computer vision and on-device AI into real hardware constraints. Start with a free 30-minute scoping call — no pitch deck required.

Book a call →

Speak directly with an engineer about your project.