GoodRep.fit · Studio
Studio2026–presentSolo founder · Claude collaborator

GoodRep.fit

A coach that lives in your camera. On-device computer-vision form coaching in a web app that installs like a native one. It watches your form, counts every rep, and says so out loud. Nothing leaves your phone.

The studio venture where the architecture is the product. Real-time pose estimation on the phone, a rep engine built on top of it, a voice that talks back, and no server in the loop. In beta, and being validated on my own training before anyone else's.

goodrep.fit is a coach that lives in your camera. Prop the phone up, do the set, and it watches your form, counts every rep, and says so out loud. It runs entirely on the phone: no video is uploaded, no server sees a frame, and there is nothing to pay for per rep.

It is in beta. The first person it has to earn a place with is me, on real sets, week over week. That is the bar before it is anyone else's.

What it is

  • It sees the rep you actually did. Pose estimation runs on the phone, a rep engine reads the joint angles, and a rep only counts when it is a rep. Twelve movements at last count, from squats and lunges to rows, presses, and curls.
  • Your range, not a chart. A guided calibration captures your own range of motion per exercise, and the coach judges you against that, not a textbook angle. Your ranges live on your profile and can be remeasured.
  • Coach from across the room. Hands-free control from three meters away: a palm-out to arm the coach, a gesture to log the set. The gestures come from the same pose landmarks, are gated by state so they cannot misfire mid-rep, and the coach teaches them by voice as you go.
  • Earned, not neon. Clean reps build a combo, combos multiply XP, and milestones land on the You tab. A quiet mode turns all of it off for people who just want the count.
  • Your AI writes it. I run it. A Plan tab that takes a routine written by whatever AI you already use and runs it, set by set, with the coach watching.
  • Nothing leaves your phone. That is not a privacy policy. It is the whole architecture.
Get in position: the coach asks you to step back so it can see hips, knees and ankles
Framing. The coach says what it needs to see.
A live set at twelve reps with knee angle, best angle, and the spoken cue Good rep
Live. Rep count, your knee angle, and the cue, spoken.
A shallow rep: the coach says Go deeper
Corrective. A shallow rep gets called, not counted.
Live coaching, from the Considered coach design system. Every state here is in the shipped build.

The goodrep.fit privacy section: "Nothing leaves your phone. That's the whole architecture."On-device is the product decision everything else follows from: private by construction, and free to run at any scale.

Why I built it

Every form-coaching app I could find did one of two things. It uploaded your video to a server and charged you for the inference, or it did not watch you at all and called set logging "coaching." The tracking apps are good at the log. None of them can tell you the rep was shallow.

The bet was a third thing: real-time, on-device, private form coaching in a plain web app that installs like a native one. Nothing leaves the phone, so there is nothing to protect and nothing to pay for. If the coach is good enough to trust, the economics take care of themselves.

How it is built

  • Pose on the phone. MediaPipe's BlazePose runs in the browser and feeds a generic rep engine. Exercises are entries in a registry, so adding a movement is a definition, not a rewrite. The library went from five movements to twelve in one wave.
  • Camera on is not tracking on. Starting the camera does not start counting. A READY gate arms the coach with a palm-out hold, so a set begins when you say so, not when you walk into frame.
  • Calibration overrides the defaults. The per-exercise range you capture resolves over the registry's defaults, so the coach's thresholds are yours.
  • A voice, not a screen. Cues are spoken through the browser's own speech synthesis, because you are not looking at the phone mid-set. The coach speaks the relevant gesture at each state transition.
  • Gestures are state machines. Hold rings, state gating, and a shipped gesture map that was reworked after real gym sessions, not designed once.
  • Progress syncs, quietly. Combos, XP, and levels are computed on device and mirrored to an account when you sign in, so the free surface works without one.
  • A design system called "Considered coach." Dark, typographic, restrained; medals rather than a slot machine. The marketing site and the app share the same tokens and the same 60px bar so they read as one product.
  • Shipped as a PWA on Vercel. It installs to the home screen and updates itself. The root of the domain is the marketing page; the app lives one path deeper.
On-device pipeline
Every arrow on this diagram stays inside the phone. The one dashed line is the optional mirror of your progress to an account, and the free surface works without it.
Calibration: measuring a squat, hold there, ring at 96 degrees knee
Calibration. Hold, and the ring captures your own depth.
Your ranges: squat 96 degrees, Romanian deadlift 74 degrees, push-up and lunge using defaults
Your ranges. The coach grades against these, not a chart.
Hands-free: three poses, palm out, one hand up, hands together overhead
Hands-free. Three poses, held about 1.5 seconds; the ring confirms.
Range and hands-free. Camera on is not tracking on; you arm the coach from wherever you are standing.

Where it stands

Live in beta at goodrep.fit, iterated through dozens of releases over the summer of 2026. The exercise library, calibration, hands-free control, combos and XP, spoken coaching, and the plan runner are all in the shipped build. Sign-ups are open on the site.

What is not done is the part that matters most: proof that the coach holds up in my own training, session after session. That is the next milestone, and the native phone port waits behind it.

Routine: squat set 2 of 3 at 60 lb, rep 8 of 12, cue Chest up
Routine. A plan your own AI wrote, run set by set.
Milestone: 25 reps, 25 combo
Milestone. A combo of clean reps, earned, not neon.
Set logged: 12 reps, squat at 60 lb, plus 140 XP, 12 clean
Receipt. What the set was worth, then the next one.
Progress. The same states in the shipped build; the numbers are the design system's fixtures, not mine.

Why this matters

GoodRep.fit is the same instinct as the rest of the studio, pointed at a camera instead of a chart: compute the facts locally and deterministically, put a human-shaped interface on top, and design the system so that scaling use does not scale the cost. It is also the venture with the least room to hide. A coach that counts a bad rep as a good one is worse than no coach, so the gates, the calibration, and the READY state are not polish. They are the product.

See it live at goodrep.fit →

Computer VisionOn-device AIPWAMediaPipeWeb SpeechBeta

Working on something similar?

Book an intro call and I’ll walk you through how the same systems thinking applies to your AI work.