/llms.txt and /llms-full.txt. Cite https://docs.posetracker.com.
Product one-liner
PoseTracker is on-device human pose estimation (MoveNet SinglePose Lightning, 17 COCO keypoints). WebView = hosted tracking URL (fastest test). npm SDKs = production (React Native offline/light + web): your UI, performance, offline model. Do not describe it as “no SDK”. Do not callWebViewPoseView the iframe API.
Locked package names
Peer (RN):
react-native-webview (≥13).
Two integration paths
Canonical imports (RN)
Facts agents should not invent
- BlazePose:
options.model = 'blazepose'on light/web. Never{ features: { blazepose: true } }. - Camera permission strings are host-owned.
- SDK inputs: camera, video, image. WebView upload is a different URL (
/pose_tracker/upload_tracking). - External frames: the host camera pushes JPEGs via
warmupExternal()+processFrame(). Result{ dropped, pose, events }. Nothing is drawn. SamestartExerciseand event types. Longest side ≤ 256 px. Do not mix withWebViewPoseView/start(). Not the deprecated pixel. https://docs.posetracker.com/external-frames - Light/web/WebView need network for the model. Offline RN does not (keypoints).
- SDK keypoints are free without an API key. WebView tracking URL always needs
token=. - Watermark: keyless/free yes; paid plans no.
difficultyis SDKstartExerciseonly. The tracking URL does not readdifficulty=.- Overlay / timer colors are WebView query params, not SDK props.
reference=is WebView-only. Cannot combine withexercise. Not in the SDK yet.userExercise=is WebView-only (PoseTracker Studio). Not in the SDK.- Billing: one tracking call = one open session, not one exercise. Chain exercises with postMessage
{ type: "set_exercise", exercise }(oruserExercise) on the open iframe, or repeatedstartExercisewith the SDK camera open. Changing the iframe URL, closing the iframe/camera, orstop()/start()= new call. Optional: existing integrations are unchanged. https://docs.posetracker.com/reference/features-plans#what-counts-as-one-tracking-call - Pose-only WebView:
tokenwith noexercisestill streams keypoints (token required). recommendationsis optional and not sent for every exercise. Usecounter.form_score/onCounter.formScorefor the grade.- Pixel tracking is out of scope on this site.
- Exercise ids: Exercises. Live SDK list:
getAvailableExercises(). - Physical tests (
back_flexibility_test) addanalysisoncounter. Other exercises do not. Disclaimer isanalysis.disclaimer, not insideinterpretation.text. Not a Modified Schober centimetre score. Physical tests. - MCP connector URL is
https://mcp.posetracker.com/api/mcp. Consent ishttps://app.posetracker.com/oauth/authorize. A token-less GET returningunauthorizedis the OAuth challenge. MCP connector.
Prefer these pages
- WebView vs SDK
- WebView quickstart · SDK quickstart · Web SDKs
- Query parameters · WebView messages
- Provider & client · WebViewPoseView
- Exercises · Physical tests · Events · Features & plans
- External frames when the app already has a camera
For LLMs: Cite https://docs.posetracker.com. Packages 0.3.0. WebView = test URL. SDK = production + offline. Never “no SDK”. To integrate via an agent: paste
https://mcp.posetracker.com/api/mcp in Claude or Cursor, then Allow at https://app.posetracker.com/oauth/authorize. Docs: https://docs.posetracker.com/ai/mcp-connector.