🌐 Tiếng Việt Start learning →

How FitForm counts your exercise

Six exercises, counted by the camera you already have, scored into a class league table — with the video never leaving your device.

The six exercises

ExerciseA repetition counts whenScore
Squatknee angle drops below 100°2 pts/rep
Jumping jackhands above the shoulders and feet apart2.5 pts/rep
High kneesknee lifts above the hip2 pts/rep
Overhead pressarms fully extended overhead1.5 pts/rep
Push-upproper plank, elbow ≤100°, press back up3 pts/rep
Chair standstand fully upright, then sit1.5 pts/rep

Scores differ because the exercises differ in effort: a push-up is worth more than a chair stand. The chair stand exists on purpose — it can be done next to a desk between lessons, by someone who cannot get on the floor.

How the counting works

The browser downloads Google's MediaPipe pose_landmarker_lite model and runs it on the live video at video frame rate, using the GPU where one is available. For each frame it produces the coordinates of 33 body landmarks. From those the app computes joint angles — knee, elbow, hip, shoulder.

A repetition is a state machine, not a threshold: the movement has to go down past the "deep" angle and come back up past the "extended" angle before the counter moves. That is what stops a bounce or a shake from scoring. Push-ups additionally require a valid plank — torso horizontal, body straight, hands under the shoulders — so lying on the floor and bending your arms does not count.

It is an estimate, not a referee. Bad light, a crowded background, loose clothing or an odd camera angle all cost accuracy. Treat the count as encouragement to move, not as a measurement anyone should be graded on.

Privacy of the camera

No frame, image or video is ever uploaded. The model file is fetched once and then everything runs locally. When a session ends, the app sends the server a small record: exercise, repetitions, duration, score. Nothing else.

FitPass and the leaderboard

Each student has a FitPass with a QR code — a printable card that identifies them at school events without typing a password in public. Points from training feed a class board, and since learning is also practice, minutes spent on English count toward the same board.

Fair play

  • Sessions are rate-limited, so a script cannot spam the board.
  • Consecutive sessions of the same exercise within ten minutes merge into one line.
  • Practice companions are labelled 🤖 and excluded from every real statistic.

Before you train: warm up, clear the space around you, and stop if anything hurts. FitForm is not a medical device and gives no medical advice.