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, reps, and form score.
· Markdown
PoseTracker is a pose estimation layer for a fitness, home-workout or rehab app: a live camera, a skeleton, valid reps and a form score, and a public Assistant to write the integration. It is not a research tensor. If you came here for squat form, a home workout that can see you, or virtual physical therapy, this page is how that layer ships.
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 — the job is range of motion from the phone camera, and the ready-made product is the flexibility tool.
- Side-view trunk flexion (not a tape Modified Schober) as a back flexibility test.
- Pose comparison against a reference stance (pose comparison system).
- Custom movements described in the Assistant, 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.
The jobs this layer is for
- Correct squat form — how to know if the squat happened, without a trainer in the room.
- A home workout that can see you — not another video library for “home workout without equipment”.
- Virtual physical therapy — physical therapy at home that can see range, not Zoom plus a PDF.
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 the Assistant 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 the Assistant.
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.
How do I connect Claude or Cursor so it writes the fitness integration?
In Claude, open Settings → Connectors → Add custom connector and paste https://mcp.posetracker.com/api/mcp, then Connect. Sign in at https://app.posetracker.com/oauth/authorize and click Allow. The agent lists exercises and writes the iframe, React or React Native snippet on your account. In Cursor, put that URL in ~/.cursor/mcp.json. A browser visit that shows unauthorized is the sign-in challenge, not a public API.
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.
Is this for a home workout or for virtual physical therapy too?
Yes. Same camera layer. A home workout that can see the user, squat form without a trainer in the room, and virtual physical therapy / physical therapy at home all need eyes. The protocol and the content stay yours. PoseTracker is not a medical device.
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.