Is this really AI?
Yes. The coach runs pretrained on-device machine-learning pose models (MediaPipe Pose Landmarker, and optionally MoveNet Thunder as a verifier). When your browser has a local foundation model, an optional recap can also be generated on-device. The deterministic counting logic on top is transparent by design.
What runs on my device?
The pose models, the movement pipeline, the visualizations, and any optional local recap all run in your browser. Model files are served from this site's own origin and cached locally after first use.
Does my video leave my computer?
No. Camera frames are processed in browser memory and discarded. The standard coach does not upload workout video or raw landmark streams anywhere.
What is dual-model verification?
An experimental second pose model (MoveNet Thunder) independently checks selected shared landmarks. When the two models disagree substantially, the app pauses counting rather than guessing. It is not clinical validation.
Does the app diagnose hip pain?
No. It tracks movement phases, repetitions, and calibrated holds. It does not identify the cause of pain, detect injury, or decide whether a routine is medically appropriate for you.
Are the routines backed by research?
Routine structure is informed by peer-reviewed research on exercise, yoga, and hip biomechanics. The Research page lists each study, what it supports, and what it does not prove.
Do I need to be flexible?
No. Every routine calibrates to the range you show it during practice, and it never asks you to go deeper.
Can I use a chair or wall?
Absolutely. Chair, wall, or countertop? All excellent dance partners.
Does it work in Safari?
The core coach targets modern Chromium and WebKit browsers. Some acceleration and experimental features vary by browser; the app selects the best available path and tells you which mode is active.
Do I need an account?
No. The full local coach works with no account and no environment configuration.
What is the local AI recap?
An optional, experimental post-session summary generated by your browser's local language model when available. It only ever sees non-medical session totals, and there is always a deterministic fallback.