No. 09of 22LandmarkResearch
Real-time, local-first AI coaching engine
ARI Sync
A coaching engine that turns an exercise video into a live session: it watches you through a webcam, compares your form with the reference, and speaks a correction while you are still moving. Every model runs on one local machine.
- When
- 2026
- Status
- Built
- Team
- Registered at RV University as a four-person project with a faculty guide.
- Role
- Research assistant. My part was the real-time feedback pipeline: pose tracking, form checks, rep counting and the voice coach.
Progress
Progress
Fitness coaching works end to end on one machine. The cooking and building-block versions are scaffolds only, and no controlled benchmark has been run.
What comes next
- A controlled benchmark against labeled recordings
- Calibration for each user, and a physiotherapist’s review of the angle thresholds
9
joint angles checked on every pose sample
Project overview and paper draft, April 2026Verified. Backed by a file or public page that has been checked.Project overview and paper draft, April 2026~9.3GB
of models on disk: two 7B language models, Whisper and MediaPipe
Disk footprint. The project's own table puts loaded memory at about 10 GB when both language models are in use.
Project slides and paper draft, April 2026Verified. Backed by a file or public page that has been checked.Project slides and paper draft, April 2026~2.5ms
per form check
Design target from development instrumentation, not a controlled benchmark.
Project report, April 2026Verified. Backed by a file or public page that has been checked.Project report, April 2026 — The report itself says its latency figures are design targets.~1.9s
from the start of an error to the first spoken word
Design target from development instrumentation, not a controlled benchmark. Most of it is the language model writing the line.
Project report, April 2026Verified. Backed by a file or public page that has been checked.Project report, April 2026 — The report itself says its latency figures are design targets.Exhibit 01 · Live demo
Try the pose tracker and the angle checks on your own device
Exhibit 02 · Walk-through
From a video link to a spoken correction
Step 01
1. Ingest the reference
You paste a link to an exercise tutorial or upload a video. The server transcribes it, extracts the trainer’s pose at 15 frames per second, splits the video into exercises and writes a flashcard of cues for each one with a local 7B language model.
Step 02
2. Track you in the browser
MediaPipe runs as WebAssembly in your browser, so frames never wait on a network round trip. The layout is one browser client and one host machine.

System layout, from the project report. Step 03
3. Check nine joint angles
A rule-based checker reads nine joint angles on every pose sample and a four-state machine counts repetitions: idle, descent, bottom, ascent.
Step 04
4. Decide what is worth saying
A severity gate decides what gets spoken. A major error that lasts half a second is voiced by the coach. A minor one appears as text only.
Exhibit 03 · Chart
What runs on the one machine: model sizes on disk
01
What it is
You give ARI Sync a reference, such as a YouTube exercise tutorial. It transcribes the video, extracts the trainer's pose, splits the video into exercises and writes a flashcard of cues for each one. Then it watches you through your webcam and compares your joint angles with the reference as you move. Fitness is the first use. Versions for cooking and for building with blocks exist as scaffolds only.
02
The hard part
A correction has to arrive while it is still useful, and it has to be worth listening to. Pose tracking runs in the browser as WebAssembly, so frames never wait on a network round trip. A rule-based checker reads nine joint angles on every pose sample. A severity gate decides what gets spoken: a major error that lasts half a second is voiced, and a minor one appears as text only. Without that gate, the project notes say, people tune the coach out within minutes.
03
What was built
An ingestion pipeline on FastAPI and Celery with PostgreSQL and Redis: download, transcription with faster-whisper, pose extraction with MediaPipe, exercise segmentation, and flashcards written by a local 7B language model. A live session over Socket.IO with a four-state rep counter, the form checker and a queued voice coach. A React front end that shows your skeleton beside a background-removed silhouette of the trainer. Two 7B language models, Whisper and MediaPipe all run on one Mac Studio, with no paid cloud AI service.
04
What was found
The project report gives about 2.5 ms for a form check and about 1.9 s from the start of an error to the first spoken word, most of it spent by the language model writing the line. The same report says these are design targets and typical values from development instrumentation, not a controlled benchmark, and they are presented that way here. The demo on this page runs the pose tracker and the angle checks in your browser and shows what your own device measures.
05
What's next
A controlled benchmark against labeled recordings, which the report lists as future work. Calibration for each user, because one set of angle thresholds does not fit every body. And a review of those thresholds by a physiotherapist before anyone relies on them.
Figure

One question
The answer is on this page. Get it right and it goes in your passport on the map.
Challenge· stamped
How long must a major form error last before ARI Sync says it out loud?
Half a second. A major error must persist for 0.5 s before the voice coach speaks; a minor one appears as text only. Source: ARI Sync project overview and paper draft, April 2026.
Show the answer
Half a second. Half a second. A major error must persist for 0.5 s before the voice coach speaks; a minor one appears as text only. Source: ARI Sync project overview and paper draft, April 2026.
- Stack
- Python
- FastAPI
- Socket.IO
- Celery
- PostgreSQL
- Redis
- MediaPipe (WebAssembly and Python)
- Ollama (qwen2.5:7b, llava:7b)
- faster-whisper
- React
- TypeScript
- Three.js