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
| Exercise | A repetition counts when | Score |
|---|---|---|
| Squat | knee angle drops below 100° | 2 pts/rep |
| Jumping jack | hands above the shoulders and feet apart | 2.5 pts/rep |
| High knees | knee lifts above the hip | 2 pts/rep |
| Overhead press | arms fully extended overhead | 1.5 pts/rep |
| Push-up | proper plank, elbow ≤100°, press back up | 3 pts/rep |
| Chair stand | stand fully upright, then sit | 1.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.