RepCheck is an open-source project designed to assist online personal trainers by reviewing client workout videos, combining computer vision with local open-weight language models. Online coaches frequently spend hours analyzing daily client clips, a process that can lead to burnout and superficial feedback. The tool automates the initial video review pipeline while keeping human coaches firmly in control of final approvals.
Architecture and Workflow
The system divides tasks across specialized components to maintain accuracy and privacy. MediaPipe PoseLandmarker extracts 33 body landmarks from each frame of an uploaded client video captured via a single phone camera. Deterministic Python code then smooths jitter, handles quality checks, and calculates rep counts, speed, depth, and balance. Form scores and initial evaluations rely entirely on fixed rules rather than direct visual AI interpretation. Once numerical metrics are established, a local open-weight model—specifically Gemma running through Ollama—processes solely the numbers to draft supportive feedback, progress summaries, and upcoming training plans. Code-side guardrails prevent the language model from inventing figures, discussing diets, or suggesting unsafe weight increases. Nothing reaches the client until the human coach reviews, edits, and explicitly approves the draft.
Implementation and Testing Discrepancies
Documentation across the project channels presents notable differences regarding testing validation and development scope. According to the developer's submission details on Dev.to, the tool was tested on real, openly licensed footage to refine rep counting and address tracking glitches. Conversely, the GitHub repository documentation cautions that the pose pipeline relies on 2D measurements from a single phone camera and has not yet been validated on real lifting footage, noting that tests were run primarily on synthetic skeletons and blank inputs. Furthermore, the codebase currently supports only three exercises—squats, push-ups, and bicep curls—and employs a single in-process queue rather than a distributed background worker. Deployment configurations utilize Docker Compose alongside MongoDB for data persistence, while optional ElevenLabs integration allows coaches to convert approved text feedback into voice notes. The creator outlines a proposed commercial tier priced at roughly $10 per month for coaches managing up to 20 clients.
Why Local AI Architecture Matters for Fitness Workflows
The design choices behind RepCheck highlight critical considerations for developers building AI-assisted tools in privacy-sensitive domains. By delegating skeletal tracking to MediaPipe and numerical judgment to deterministic code, the project avoids the high costs and privacy hazards associated with sending raw body videos to proprietary cloud-based vision APIs. Raw videos are deleted immediately after processing, and only anonymized numerical metrics are passed to the local Gemma model. This architecture ensures that client privacy remains protected while keeping inference costs close to zero, relying essentially on local electricity rather than per-request cloud billing. For online personal trainers managing dozens of remote clients, maintaining low operational overhead is vital to making software subscriptions financially viable. Moreover, relying on open-weight models and open-source vision components prevents vendor lock-in, allowing developers or technically inclined coaches to inspect landmark signals, adjust rep-counting thresholds, and swap out underlying model versions locally. However, developers adopting similar architectures must carefully weigh limitations regarding single-camera angle sensitivities, hardware requirements for running local LLMs via Ollama, and the necessity of rigorous validation before deploying automated fitness monitoring in production environments.
Editorial graphic and headline text by Signal Titans.
Source: RepCheck: An AI Helper That Watches Workout Videos for Online Coaches (MediaPipe + Gemma) · GitHub – Bin4yi/repCoach · GitHub

Leave a Reply