Personal project, live at pentix.eu

Pentix

A bet with your friends that a camera keeps honest, instead of the honour system.

Open the app
01

A goal is scored

Match data turns into push-ups you owe, using a formula each group sets for itself.

02

The debt grows

Unpaid balances gain interest, so putting it off costs you.

03

The camera settles it

Pose tracking runs on your own phone and counts the set. The video never leaves the device.

pentix.eu
The Pentix leaderboard and match interface

Running the model on the phone was a product decision before it was a technical one. Uploading video would have meant storage costs, a moderation problem, and asking people to hand over footage of themselves. Keeping it on the device removed all three.

The hard part was deciding what counts as a rep. It comes down to one number: how far your elbow has to bend before the app accepts the push-up. Set it too loose and half reps count, which defeats the point. Set it too strict and good reps get ignored, so people end up doing more push-ups than they actually owe. Almost all of the tuning went into that single threshold, and getting it wrong in either direction makes people stop trusting the app.

Built with
Next.js, MediaPipe, Supabase
Role
Sole developer
Status
Live and in use
Runs on
Your device, not a server