TheroxJoin early access
// Reference / 01

What it sees.And what it doesn't.

Therox follows your joints through a set, counts your reps, and calls out what to fix while you lift. A rep with small mistakes still counts and still gets its cue. The thresholds are reasoned starting values that have not been measured yet, so today the counting is generous: it holds the count back when a rep is a long way off, or when the movement is not the one you chose.

This page has the detail: every movement it coaches, how to film each one, what the cues measure, and where it is blind.

// Framing / 02

Where to put the phone

Every check is an angle measured from one camera. Film from the wrong side and the angle it needs is simply not in the picture, so it skips the check rather than guessing. Each movement below states the framing it needs.

side

Film from the side

Depth, lockout, back angle and bar path are all angles in the sagittal plane. Face the camera and they flatten into nothing.

front

Film from the front

Arm symmetry and pull height compare your left side against your right. From the side, one arm hides the other.

  • Whole body in frame, head to feet.
  • Even light, camera still, lens roughly hip height.
  • Nobody else moving through the shot.
// Coverage / 03

All 25 movements

Across 8 families. Every one of them carries the same status, and it is worth saying what that status means before you open any of them.

What “reasoned, not fitted” means

Every threshold in the app is a considered starting value, not a measured one. A squat below parallel is about ninety degrees at the knee. A locked elbow is about one hundred and seventy. Those are anatomy, and a sound place to begin, though a sound starting value is not the same as one verified against real sets from real people. That is why you will not find an accuracy score on this site yet. Once the thresholds are fitted to recorded footage, there will be a number worth quoting.

Squat patterns5 movementsFilm from the side
  • SquatDepth · Back · Bar path
    Reasoned, not fitted
  • Front SquatDepth · Back · Bar path
    Reasoned, not fitted
  • Goblet SquatDepth · Back
    Reasoned, not fitted
  • LungeDepth · Back
    Reasoned, not fitted
  • Bulgarian Split SquatDepth · Back
    Reasoned, not fitted
Hip hinges4 movementsFilm from the side
  • DeadliftLockout · Back · Bar path
    Reasoned, not fitted
  • Romanian DeadliftLockout · Back · Bar path
    Reasoned, not fitted
  • Sumo DeadliftLockout · Back · Bar path
    Reasoned, not fitted
  • Hip ThrustLockout · Back
    Reasoned, not fitted
Horizontal press4 movementsFilm from the side
  • Push-upDepth · Lockout · Body line
    Reasoned, not fitted
  • Bench PressDepth · Lockout
    Reasoned, not fitted
  • Incline Bench PressDepth · Lockout
    Reasoned, not fitted
  • DipDepth · Lockout
    Reasoned, not fitted
Overhead press1 movementFilm from the front
  • Overhead PressLockout · Even arms · Core
    Reasoned, not fitted
Vertical pull3 movementsFilm from the front
  • Pull-upHeight · Full hang · Even arms
    Reasoned, not fitted
  • Chin-upHeight · Full hang · Even arms
    Reasoned, not fitted
  • Lat PulldownHeight · Full hang · Even arms
    Reasoned, not fitted
Rows3 movementsFilm from the side
  • Barbell RowRange · Extension · Torso
    Reasoned, not fitted
  • Dumbbell RowRange · Extension · Torso
    Reasoned, not fitted
  • Seated Cable RowRange · Extension · Torso
    Reasoned, not fitted
Arms4 movementsFilm from the side
  • Bicep CurlFull curl · Return · Elbows · Torso
    Reasoned, not fitted
  • Hammer CurlFull curl · Return · Elbows · Torso
    Reasoned, not fitted
  • Triceps PushdownFull extension · Return · Elbows · Torso
    Reasoned, not fitted
  • Skull CrusherFull extension · Return · Elbows · Torso
    Reasoned, not fitted
Shoulders1 movementFilm from the front
  • Lateral RaiseHeight · Return · Arms
    Reasoned, not fitted
// Limits / 04

What it cannot see

Calf raises and shrugs

These were designed, built as a ninth movement family, and then cut. The pose model runs on your phone and gives us seventeen body points. None of them is the heel, and none is the toe. A calf raise is a few pixels of whole-body rise, which any small camera movement swamps entirely. Shipping them would have meant shipping checks that fire at random, so they are not in the app.

Anything it was not given

  • Load. It sees your body, not the bar, so it cannot know whether the weight is right for you.
  • Pain. A rep can pass every check and still hurt. Nothing here is a medical opinion.
  • Anything out of frame, badly lit, or hidden behind another person.

A coach watching from one angle in a badly lit room misses reps too. This is a coaching aid and a second pair of eyes, not a guarantee of safe form and not a substitute for learning the lift.

// Method / 05

How the numbers get better

Guesses get replaced by measurements, one movement at a time. We record real sets, and for each one we write down how many reps were actually performed, counted by a human rather than by the app, and whether the form was good or bad. The app is then scored against that record and the thresholds are fitted to what actually happened.

The recordings hold the model's numeric output, not video. There is no footage in them and no picture of anyone. When a movement has been fitted this way, this page will say so on that row, and not before.

Train with it

Early access opens when the app does. We will email you then, and for nothing else.