PoseTracker API logoPoseTracker

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

Try it in 5 minutes

React Native and Expo Go. Keypoints stream on-device and need no API key.

Install

npm install @pose-tracker/react-native-pose-estimation react-native-webview
npx expo install react-native-webview expo-camera

Show the keypoints

import {
  PoseTrackerProvider,
  WebViewPoseView,
  usePoseTracker,
} from '@pose-tracker/react-native-pose-estimation';

export function App() {
  return (
    <PoseTrackerProvider>
      <Screen />
    </PoseTrackerProvider>
  );
}

function Screen() {
  usePoseTracker({
    onKeypoints: (e) => console.log(e.keypoints.length, e.score),
  });
  return <WebViewPoseView style={{ flex: 1 }} drawSkeleton />;
}

Free tier: 200 API calls/month for reps, angles and form score.

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

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.

BOOK A CONSULTATION

Or contact us :

— by email : contact@posetracker.com

— by phone or : +33 6 45 20 01 91

Try the Assistant · Fitness SDK guide · SDK overview