MediaPipe · in the browser · on-device

Your body is the controller.

A small collection of experiments built on MediaPipe Tasks — hands, pose, face — running entirely client-side. No install, no upload, no server. Open one, allow the camera, and move.

🔒 Every frame stays on your device Webcam recommended · keyboard fallbacks included Source on GitHub ↗

Playable now

Each one reads the body a different way.

On the bench

Sketched in ideas.txt, not built yet.

Hole in the Wall

Match a flying cutout with your silhouette. Scored on pixel overlap from the segmentation mask, not landmarks.

Statue / Red Light Green Light

Inverted incentive — score for stillness under pressure. Sub-pixel jitter detection catches you flinching.

Air Glyphs

Trace shapes with your index finger; a $1 unistroke recognizer turns them into spells.

Body Drums

Hand and foot velocity into Web Audio. Zones in space are drums; strike velocity sets volume.

Ragdoll Physics Playground

Your limbs become Matter.js colliders. Juggle five balls, herd them into a bucket.

Face Controller

Blendshapes as buttons: eyebrow raise jumps, mouth open shoots, head tilt steers. Playable sitting down.

Yoga Hold / Angle Matcher

Score joint angles against a target pose and hold for ten seconds. The calm opposite of an arcade.

Notes

If the camera doesn't start

Cameras need a secure context. These pages work over https:// (as here) or localhost, but a plain file:// double-click is blocked by the browser — every demo detects that and offers keyboard mode instead.

To run locally: clone the repo, then python3 -m http.server 8000 and open localhost:8000. First load of each demo pulls the MediaPipe model from a CDN, so give it a moment.

Best results with good front lighting, a plain-ish background, and — for the full-body demos — a couple of metres between you and the lens.