gymgyme · projects

projects · live

gymgyme

counts your reps, no video ever leaves your device, web

built by · gymgyme.noseydewdrop.com

what it is

A personal trainer that runs entirely in your browser. Computer vision counts your reps on your own device, scores your form 0-100 and corrects your posture in 3d. Not a single frame is uploaded anywhere. For everyone working out alone at home asking "am I doing this right?"

how it works

The real work happens in a C++ engine, hand-written and compiled to WebAssembly. Every frame, MediaPipe's pose landmarker reads 33 body points on the GPU. The engine takes those noisy points and does the actual coaching:

  • One Euro filter in joint-angle space, with parameters picked by a measurement bench, not by feel
  • bone-lock skeleton: calibration learns your bone lengths in metric world coordinates, then refits the skeleton every frame
  • person lock: if someone else walks into the frame, the engine refuses to coach them
  • motion-prior gating: the physically possible angular velocity is derived from each move's own spec. Squat physics while you squat.
  • rep counting with hysteresis, half-rep detection, 0-100 scoring (depth, tempo, control) and a one-line coach comment after every rep

measured

  • bone length variance: raw ~5% to 0.00% (bone-lock skeleton). Joints can no longer drift.
  • jitter in bad light: 5.0° to 2.3° (One Euro filter, parameters chosen by sweep). The first sweep introduced 100 ms of latency; a latency penalty caught it.
  • a synthetic ground-truth bench measures jitter, RMSE, latency, bone variance and two-person scenarios

why it exists

Everyone trying to work out at home has the same problem: you do not know if you are doing it right, nobody counts, nobody corrects you. I wanted the gym coach in your pocket, but not something that sends your camera feed to the cloud. The strictest privacy policy is the one physics imposes.

stack

C++17 compiled to WebAssembly (Emscripten) · MediaPipe Tasks, on-device · static HTML, CSS and JS, no build step · Supabase (accounts and workout counts, RLS protected) · Vercel · PWA

Free, no ads, no tracking. Your workout counts (never video) sync only if you sign in.

links