FLEXION Back to the report

Method · how Flexion reads a hand

One honest number per fist.

Flexion is a measurement aid, not a diagnosis. Everything below is what the code does today, with the numbers from our own validation runs. Values come from a consumer webcam, and your therapist stays in charge.

What we measure

The camera finds 21 hand landmarks per frame (Google MediaPipe, running in your browser on the GPU). From them we take one headline reading: the distance from the index fingertip to its knuckle, divided by the palm length (wrist to middle-finger knuckle). Dividing by your own palm makes the number independent of how close you sit. Lower means a tighter fist.

Each capture is the median of a steady window: the pose has to hold for 0.7 s (about 20 camera frames) before it counts, so one blurry frame can’t move the result.

Open hand
0.766
Fist
0.183
Fist closure
1 − fist ÷ open

Validation run 4, 20 October 2026, one adult right hand: the open and fist readings above are that run’s medians. The weekly report draws one gauge per day from the fist closure.

Form guards

A 2D camera can be fooled, so the coach refuses a capture until the form is right, and says what to fix:

The noise band (MDC95)

Make the same fist ten times and the reading still wobbles. In run 4 the ten re-formed fists had a standard deviation of 0.023. The minimal detectable change at 95 % confidence is 1.96 × √2 × SD = 0.063, which is 10.7 % of the open-to-fist range. A day inside your usual reading ± 0.063 is normal day-to-day noise; only a change beyond it is called real.

Limits, said plainly

What leaves your device

The video never leaves your browser tab. Only the numbers of a finished session (readings, reps, the grip result, form fixes) are saved, under an opaque user id with no name.