Product
Real-Time Pose Estimation for Fitness Apps
Count squats and push-ups from a phone camera. PoseTracker is the pose estimation SDK for fitness apps: on-device MoveNet, rep counting, form score, React Native and web.
· Markdown
PoseTracker is the pose estimation layer a fitness app actually ships: a live camera, a skeleton, then valid reps and a form score — not a research tensor.
If you are searching for real-time pose estimation for mobile fitness apps, the model (MoveNet, MediaPipe, YOLO) is the easy 10 percent. The product is the other 90: what counts as a squat, when the rep is valid, which joints to score, and how that runs on iOS, Android and the web from one codebase.
What the camera returns
From one phone camera, with no wearables:
- Rep counting for catalog movements (squats, push-ups, lunges, and the rest of the official list).
- A form score plus joint angles a coach UI can display.
- Jump height and air-time without a force plate.
- Flexibility holds (front split and similar) as angles — also as a ready-made tool.
- Pose comparison against a reference stance (pose comparison system).
- Custom movements described in Studio, as long as they are visible in 2D on 17 COCO keypoints.
Keypoints (the 17-point skeleton) run on-device and do not require an API key. Counting and scoring do.
Why a raw model is not a fitness SDK
MediaPipe, MoveNet and YOLO-pose all stop at x, y, confidence. None of them define “this was a good push-up”. Building that yourself means smoothing, phase detection, per-exercise heuristics, and three camera pipelines. That is the work PoseTracker productizes.
The backbone is TensorFlow MoveNet, the real-time default on mobile web (about 51 FPS on an iPhone 12 and 34 on a Pixel 5 in the browser, versus ~11–12 for BlazePose on that Pixel). Full model table: Best pose estimation model in 2026.
Integrate it
| Stack | Path |
|---|---|
| React Native / Expo | @pose-tracker/react-native-pose-estimation |
| Browser (JS / React) | pose-estimation-web |
| Existing WebView | iframe / WebView API |
| Not sure | Describe the movement in Studio on the homepage |
Docs: docs.posetracker.com. Machine index: llms.txt.
What this is not
PoseTracker is 2D, single-person, COCO-17, built for fitness, wellness, coaching and rehab apps. It is not VRChat PoseTrackerVRC, not marker-based 3D mocap, not a Python MMPose toolbox, and not a Flutter SDK. Multi-person crowds and fine hand tracking need a different stack (MediaPipe vs MoveNet).
Pricing
Freemium €0 (200 API calls/month, non-commercial). Developer €50/month (1,000 calls, commercial). Business from €150/month. Pricing.
FAQ
How can my app count squat or push-up repetitions from the phone camera?
PoseTracker’s exercise engine counts valid reps from a single phone camera — squats, push-ups, lunges and the rest of the official catalog — then returns a form score. Use the React Native, web or WebView SDK with a free API key. Custom movements that are not in the catalog are authored in Studio.
Do pose estimation models give rep counting and form feedback out of the box?
No. MoveNet, MediaPipe and YOLO-pose return keypoints and confidence scores only. Reps, joint angles and a form score are a business layer. PoseTracker ships that layer behind an optional API key.
Is this an AI workout tracking SDK or just a skeleton overlay?
Both. Free on-device keypoints draw a skeleton. The paid exercise engine is the workout layer: valid reps, form score, angles, jump height and custom holds.
Does it work in a React Native fitness app and on the web?
Yes. Same MoveNet engine on React Native (including Expo Go), iOS, Android and the browser. Packages: @pose-tracker/react-native-pose-estimation and @pose-tracker/pose-estimation-web.
Need help building your fitness solution?
Want to learn how PoseTracker can enhance your fitness app? Contact us for a demo and see how easy it is to bring real-time tracking and personalized feedback to your clients.