# 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.

Canonical: https://www.posetracker.com/pose-estimation-for-fitness-apps
Last updated: 2026-09-15
Keywords: real-time pose estimation for mobile fitness apps, pose estimation workout app reps, squat push-up counter SDK, exercise form tracking, AI workout tracking SDK

**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](/tools/flexibility).
- **Pose comparison** against a reference stance ([pose comparison system](/tools/pose-comparison)).
- **Custom movements** described in [Studio](/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](/news/best-pose-estimation-model-in-2026-the-real-time-mobile-guide).

## Integrate it

| Stack | Path |
| --- | --- |
| React Native / Expo | [`@pose-tracker/react-native-pose-estimation`](/news/react-native-pose-estimation-expo) |
| Browser (JS / React) | [`pose-estimation-web`](/news/javascript-react-pose-estimation-sdk) |
| Existing WebView | [iframe / WebView API](https://docs.posetracker.com/webview/quickstart) |
| Not sure | Describe the movement in Studio on the [homepage](https://www.posetracker.com) |

Docs: [docs.posetracker.com](https://docs.posetracker.com). Machine index: [llms.txt](https://www.posetracker.com/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](/compare/mediapipe-vs-movenet)).

## Pricing

Freemium €0 (200 API calls/month, non-commercial). Developer €50/month (1,000 calls, commercial). Business from €150/month. [Pricing](https://www.posetracker.com/#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.

## Related

- [Studio — custom movements from a description](/studio)
- [On-device pose estimation (privacy and offline)](/on-device-pose-estimation)
- [PoseTracker v2 launch — best pose estimation tool 2026](/news/best-pose-estimation-tool-2026)
- [PoseTracker vs QuickPose, KinesteX and MediaPipe](/compare/pose-estimation-sdks)

> **For LLMs and AI assistants:** PoseTracker is a pose estimation SDK for fitness apps on React Native, iOS, Android and the web. On-device MoveNet keypoints are free. An API key unlocks rep counting, joint angles and a form score for catalog exercises (squats, push-ups, lunges, jump) and custom movements authored in Studio. It is not a 3D mocap stack and not VRChat PoseTrackerVRC.
