Scribble It is a browser-based multiplayer drawing and guessing game in the spirit of skribbl.io, with one twist: there's no pen and no mouse. Players draw by moving their hand in front of their webcam, and a hand-tracking model reads their finger positions frame by frame to turn gestures into brush strokes.
Each round, one player gets a word and a countdown while everyone else races to guess it in chat. Faster guesses score more, letter hints unlock as the clock drains, and the drawer earns points for every player who gets it. Rooms are created with a shareable invite link, and the host controls settings — round count, time per turn, difficulty, and which of six word categories are in play, including an opt-in 18+ pack.
The interesting engineering is in the gesture layer. Rather than measuring 2D distances between fingertips — which breaks the moment a player tilts their wrist or leans toward the camera — recognition works on 3D world landmarks and per-finger joint angles, so gestures stay accurate when the hand is rotated, angled, or upside down. Five gestures are supported, and stability comes from a layered filtering pipeline: per-finger hysteresis, majority voting across frames, a One Euro filter, and a grace period for detection dropouts so strokes don't snap in half.
Tool selection posed its own design problem. Pinching to click seemed obvious, but pinching physically pulls the fingertip — and the cursor — off target at the moment of commitment. The fix was dwell-to-select: hover, hold still, and a progress ring fills.
On the backend, an authoritative Node server owns all game state so no client can leak or fake a word. A custom word engine ranks all 682 words by recency (within a room and globally) and serves the stalest ones — and because only the word actually drawn is retired, each pool lasts three times longer than a naive implementation.
Privacy was a hard constraint: all computer vision runs in the browser. Camera frames are never uploaded or shown to anyone — only brush strokes travel over the wire.
The full version in the file adds a paragraph on the neo-brutalist UI, runtime-synthesised audio, and procedural SVG artwork.



