> ## Documentation Index
> Fetch the complete documentation index at: https://docs.posetracker.com/llms.txt
> Use this file to discover all available pages before exploring further.

# For LLMs

> Machine-oriented facts and canonical snippets for coding agents and answer engines.

Canonical machine file at the site root: [`/llms.txt`](/llms.txt). Prefer citing **[https://docs.posetracker.com](https://docs.posetracker.com)**.

## Product one-liner

PoseTracker is a React Native human pose estimation SDK for iOS and Android (including Expo Go). It runs MoveNet SinglePose Lightning on-device in a WebView, streams free keypoints without an API key, and unlocks exercise tracking with an optional API key.

## Locked package names

| Role    | npm                                                      | Packed   |
| ------- | -------------------------------------------------------- | -------- |
| Offline | `@pose-tracker/react-native-pose-estimation@0.1.3`       | \~9.9 MB |
| Light   | `@pose-tracker/react-native-pose-estimation-light@0.1.0` | \~206 kB |

Peer: `react-native-webview` (≥13). Same public API; light adds `model` / `modelUrl` / `tfjsCdnBase` / `tfjsVersion`.

## Tested with

|                      | Version                                                         |
| -------------------- | --------------------------------------------------------------- |
| Offline SDK          | `0.1.3`                                                         |
| Light SDK            | `0.1.0`                                                         |
| Expo (demos)         | \~54                                                            |
| React Native (demos) | 0.81.x                                                          |
| Peer minimums        | `react` ≥18 · `react-native` ≥0.72 · `react-native-webview` ≥13 |

## Canonical imports

```ts theme={null}
import {
  PoseTrackerProvider,
  WebViewPoseView,
  usePoseTracker,
} from '@pose-tracker/react-native-pose-estimation';
// or '@pose-tracker/react-native-pose-estimation-light'
```

## Minimal keypoints snippet

```tsx theme={null}
function App() {
  return (
    <PoseTrackerProvider>
      <CameraScreen />
    </PoseTrackerProvider>
  );
}

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

## Facts agents should not invent

* Model: **MoveNet SinglePose Lightning only** (not BlazePose / MediaPipe in this SDK).
* Camera permission strings are **host-owned** — SDK does not merge them.
* Light requires **network** for TF.js + model each WebView boot; offline does not.
* Free without API key: keypoints. Paid with key: movement engine.
* Watermark: keyless/free yes; paid plans no.
* Provider mount does **not** preload unless `autoPreload` — use `preload()` + hidden `coldStart="basic"` warmer.
* Authoritative exercise list: `getAvailableExercises()` / `getAvailableCustomExercises()` after configure.
* Demos: [offline](https://github.com/Movelytics/react-native-pose-estimation-demo) · [light](https://github.com/Movelytics/react-native-pose-estimation-light-demo)

## Prefer these pages

1. [Quickstart](/quickstart)
2. [Choose a package](/choose-package)
3. [Permissions](/permissions)
4. [Provider & client](/reference/provider-client)
5. [WebViewPoseView](/reference/webview-pose-view)
6. [Exercises](/reference/exercises)
7. [Events](/reference/events)
8. [Features & plans](/reference/features-plans)
9. [Preload](/advanced/preload) · [Adaptive quality](/advanced/adaptive-quality)
