# PoseTracker integration

## Start using PoseTracker WebViews / iframes

The simplest way to integrate PoseTracker is through a **WebView / iframe**.

Your application embeds a PoseTracker URL, and PoseTracker handles:

* pose estimation
* movement tracking
* matching movement to a reference
* repetition counting
* optional developer outputs (keypoints, angles, progression, etc.)

PoseTracker then sends structured events back to your application via **postMessage / WebView bridge**.

{% hint style="info" %}
The easiest way to experience PoseTracker is the mobile demo app.

Install it on iOS or Android.

Then follow along with the docs.

* iOS (App Store): <https://apps.apple.com/us/app/posetracker-ai/id6759670702>
* Android (Google Play): <https://play.google.com/store/apps/details?id=com.posetracker.v3demo>
  {% endhint %}

***

## Two Integration Modes

PoseTracker supports **two simple integration modes**.

Both modes use the **same tracking engine**, the **same outputs**, and the **same message format**.

***

### 1️⃣ Real-time tracking (camera / webcam)

PoseTracker analyzes movements **live from the device camera**.

Typical use cases:

* fitness coaching
* real-time rep counting (like counting squats)
* posture feedback
* live movement analysis

Endpoint:

```
GET https://app.posetracker.com/pose_tracker/tracking?token=...&exercise=...
```

Your app opens the URL in an iframe or WebView and PoseTracker processes the camera stream directly.

***

### 2️⃣ Uploaded video or image analysis

PoseTracker analyzes **a video or image uploaded by the user**.

Typical use cases:

* analyzing workout recordings
* generating skeleton videos
* extracting keypoints
* offline rep counting

Endpoint:

```
GET https://app.posetracker.com/pose_tracker/upload_tracking?token=...&source=video|image&exercise=...
```

The user uploads a file and PoseTracker processes it directly in the browser.

***

## Same Outputs in Both Modes

Both integration modes return **the same type of events and developer outputs**, including:

* repetition counter
* form score
* progression
* keypoints
* angles
* recommendations

Your application receives these events through **postMessage / WebView bridge**.

***

## 🆕 Reference Movement Comparison 🆕

PoseTracker now supports **reference movement tracking**.

Developers can create a **reference movement** in the PoseTracker dashboard using a short video containing **one ideal repetition of a movement**.

PoseTracker analyzes this video and generates the **movement signature**.

This reference can then be used to:

* detect repetitions of the same movement
* measure similarity to the reference
* score each repetition

The reference can be used with **both real-time tracking and uploaded video analysis**.

Example:

```
https://app.posetracker.com/pose_tracker/tracking?token=YOUR_TOKEN&reference=REFERENCE_UUID
```

or

```
https://app.posetracker.com/pose_tracker/upload_tracking?token=YOUR_TOKEN&reference=REFERENCE_UUID
```

When using a reference movement, PoseTracker compares the user's movement to the reference and returns similarity scores.

⚠️ `reference` cannot be combined with `exercise`.

***

## How PoseTracker Works

1️⃣ Your application opens the PoseTracker URL in a **WebView or iframe**\
2️⃣ PoseTracker runs **pose estimation locally on end-user device**\
3️⃣ PoseTracker detects movements and computes results\
4️⃣ PoseTracker sends structured messages to your application

Your app can then:

* get pose estimation data (with a developer plan)
* update the UI
* store results
* trigger training logic
* analyze performance

{% hint style="info" %}
**Vibe coding with PoseTracker**\
If you use Cursor, Claude, Copilot, or ChatGPT, use our GitHub repo with ready-to-use prompts, examples, and quick fixes:\
<https://github.com/Movelytics/posetracker-llm-prompts>
{% endhint %}

{% embed url="<https://github.com/Movelytics/posetracker-llm-prompts>" %}
