How we taught the counter to refuse a half rep

A push-up counter that can be fooled is useless in a duel. Ours counts a rep only when two separate signals agree: your arms fold, and your shoulders grow in the frame as you come down. We explain how we got there, which numbers we chose, and how recorded sets keep the counter honest.

Read
4 min
Published

A counter you can't argue with

In Pushgard your reps hit monsters, and in the arena they decide a duel against another person. That changes what a counter has to be. A counter you can fool with a nod or a half bend is fine for a private tally. In a duel it decides who wins, and then the two people have to trust it.

So we set one rule before any threshold: a push-up counts only when the body actually went down and came back up. The pose model runs on the phone and turns each frame into 33 body points. Everything below is how we turned those points into a yes or a no.

Android 13 reps
iPhone 13 reps
One set, two phones

The obvious signal was the wrong one

The first idea is the elbow angle: straight arm at the top, bent at the bottom. It breaks on narrow push-ups. With your hands under your chest, the forearm points almost straight at the camera and shrinks to a short line. In narrow push-ups the measured angle jumped between 8 and 143 degrees on neighbouring frames. The elbow is also the least visible of the three arm points.

So depth comes from how far your arm folds: the distance from wrist to shoulder, measured in shoulder widths. Two far-apart points don’t jump like that. On a narrow-grip recording the angle said you barely moved (23%), while the fold showed 73%.

The elbow angle still has one job. Before the set it checks that your arms are straight.

Elbow angle 8° to 143°
Wrist to shoulder 73%

First, the counter learns your top

Before the first rep, you hold a plank for a moment. The counter takes 1.2 seconds of that stillness to learn where your top is. From then on, depth is measured against your own body, not against a standard person.

It checks three things first. Your elbows are open past 140 degrees. You are lying, not standing: your torso is at most 1.4 shoulder widths long in the frame, while a standing body measures 1.3 to 3.4. And you are holding still. If you start moving straight away, it gives up waiting after 8 seconds and learns your top on the move.

The top keeps updating during the set, because people shift.

Learning your top1.2 s
  • Arms straight
  • You’re in a plank
  • Hold still

Two signals have to agree

Signal one is the arm fold: how much shorter the wrist-to-shoulder distance gets compared with your top. Signal two is scale: as your chest comes down toward the phone, your shoulders get wider in the frame.

Each one alone is easy to fake. Bend your arms without lowering your body and the fold moves, but the shoulders stay the same size. Rock your torso toward the camera without bending your arms and the shoulders grow, but nothing folds. To fake both at once, you have to actually do the push-up.

Try it: drag the arm down and watch both signals. The rep counts only when the fold passes the depth line, the shoulders grow along with it, and you come back up.

0reps
Top
Arm fold0% Depth line
Shoulders closer+0%

Drag down and back up. The counter judges the rep when you return to the top.

Where we drew the depth line

We didn’t pick the line from a textbook. We recorded sets and measured them:

  • real push-ups folded the arm 51 to 66 percent;
  • deliberate half reps folded it 26 to 33;
  • rocking the torso without bending the arms moved it 2 to 4.

Then a fourth group turned up: incomplete reps at 35 to 47 percent. The person doing them called them incomplete, so the line had to sit above them, not between the half reps and the real ones.

The line sits at 44 percent of arm fold. That leaves a gap of only a few points below the shallowest real push-up, and there is no room to widen it: a stricter line started losing real reps.

Torso rocking2 to 4%
Half reps26 to 33%
Incomplete35 to 47%
Real push-ups51 to 66%
Depth line, 44%

Moves that looked like push-ups

Two signals stopped most tricks, but not all. Testers tried to break the counter on purpose, and some attempts passed both checks. In one, you lie on your stomach with your hips on the floor and push only your chest up. The arms fold and the shoulders move, just like a real rep.

The difference is the hips. In a real push-up the whole body lowers as one piece, and the hips follow the shoulders about halfway. In that trick they stay on the floor. So the counter now checks that the hips moved with the shoulders. On the recording of that trick the count dropped from 50 to 0, and every honest recording in the set kept its count.

Timing catches the rest. A rep shorter than 0.55 seconds isn’t a rep, and one longer than 5 seconds is a rest in the middle of one.

Real push-up ShouldersHips
Chest up, hips on the floor ShouldersHips

Every recorded set became a test

Each time the counter got something wrong, we kept the recording. Every one carries a note about what happened and how many reps there really were. There are more than twenty push-up recordings now, along with others for squats, crunches and plank. Some have a correct answer of zero:

  • someone lying down, holding a plank and getting up;
  • five deliberate half reps;
  • eight incomplete push-ups.

Before any change to a threshold ships, the counter replays the recordings and has to land on the right number for every one it is meant to pass. When a fix for one recording breaks another, the fix doesn’t ship.

  • Five half reps Expected0 Counted0
  • Lying down and getting up Expected0 Counted0
  • Eight incomplete push-ups Expected0 Counted0
  • Narrow grip, close to the phone Expected5 Counted5
Questions

Still wondering

Short answers to what people ask next.

Why doesn't Pushgard just use the elbow angle?

On narrow push-ups the forearm points at the camera and the angle jumps around from frame to frame. The distance from wrist to shoulder doesn't, so depth is measured with that, and the angle only checks that your arms are straight before the set.

Does the counter work if I'm close to the phone or far from it?

Yes, within limits. Arm fold is measured in shoulder widths, so distance cancels out. If you are too close or too far for the camera to judge, the app tells you to move.

Can I rest at the top in the middle of a set?

Yes. A rest at the top is just the gap between reps. Only a single rep that takes longer than 5 seconds from top to top stops counting.

Does the same rule apply in duels?

Yes. Every phone runs the same counter with the same thresholds, which is the point of having one.

All questions

Free on iPhone and Android

The first slime is waiting

Lean the phone against a wall and do one set. That’s all the gear you need.