Skip to content
Wakeletics

Rep verification

How the camera counts your reps

A rep is not a threshold being crossed. It is a sequence, in order, at a plausible speed, with the camera actually able to see you.

What runs when you press start

Four stages, all of them on your phone. Nothing in this chain touches a network.

01

The camera opens

A live capture session starts. Frames go straight into memory for analysis and are never written to Photos, never saved to disk, never queued for upload.

02

Your body becomes points

Each frame is reduced to a set of joint positions — shoulders, elbows, wrists, hips, knees, ankles — with a confidence value for each. From here on, the app is no longer looking at a picture of you. It is looking at coordinates.

03

Geometry becomes a phase

Angles between joints decide where you are in the movement. Elbow angle and body line for a push-up; hip, knee and ankle for a squat. The result is a phase, not a verdict: ready, descending, at depth, rising.

04

Phases become a rep

Only a complete, correctly ordered cycle counts. Ready, down past the depth threshold, back to a full return. Skip a stage and nothing increments.

What does not count

Most of the engineering here is not about recognising a good rep. It is about refusing a bad one.

Partial range

Stopping short of the depth threshold leaves the rep unfinished. The counter waits. It does not round up because you were close.

Bouncing

Entering and leaving the bottom position use different thresholds, and a minimum time between reps is enforced. Rapid bobbing at the bottom registers as one incomplete rep, not five quick ones.

Lost tracking

If the required joints drop below the confidence threshold, counting pauses and says so. It does not guess through the gap and hand you reps you did not do.

Too dark

Bedrooms at 6 AM are dim. Below a usable light level the app pauses and asks you to turn on a light, rather than quietly lowering its standards to keep the number moving.

It tells you what it needs

Recognition failures are almost always framing failures, and framing is fixable in three seconds if the app just says what is wrong.

MOVE BACKMOVE CLOSERFULL BODYTURN SIDEWAYSTOO DARKREADY

You also see a live skeleton drawn over the camera feed, and only where tracking is genuinely confident. Joints the app is unsure about are simply not drawn. That is deliberate: a skeleton that draws confident-looking lines through uncertain data teaches you to trust something that has not earned it.

Where the limits are

This is computer vision on a phone camera, not a motion-capture lab. It works well in the framing it asks for and degrades honestly outside it — by pausing and telling you, rather than by inventing numbers.

Recognition quality is measured against a labelled set of recordings covering different body types, camera angles, clothing, distances and morning light, with internal accuracy and false-positive targets that have to be met before thresholds are locked. Those are engineering targets we hold ourselves to during development, not a guarantee printed on a marketing page.

It is also not unbeatable. A determined person can find a way to fool any camera. But the effort required is meaningfully higher than the effort of just doing ten push-ups, which is the only deterrent that ever really matters.

None of this leaves your phone

Every stage above runs on the device. There is no cloud vision service in the rep path, no frame upload, and no processing queue on a server. What syncs, if you use the social features at all, is the outcome: the movement, the rep count, whether you finished.