finds.dev← search

// the find

ErickWendel/semana-javascript-expert07

★ 2,364 · JavaScript · updated Dec 2023

JS Expert Week 7.0 - 🙅🤏🏻 Controlling Streaming Platforms using Eye and Hand Detection 👁🖐

A structured tutorial series (4 classes) teaching browser-based gesture control using MediaPipe and TensorFlow.js — hand tracking to scroll/click, eye blink detection to pause video. Built as a live-coding workshop, so the repo ships both the starting template and the completed class-by-class solutions. Aimed at JavaScript developers who want to see how ML inference fits into a real browser UI architecture.

The Web Worker architecture is the right call — ML inference is offloaded from the main thread so the UI doesn't freeze while MediaPipe runs. The class-by-class progression in separate folders means you can diff any two classes to see exactly what changed, which is genuinely useful for a tutorial. The gesture-to-DOM mapping (open palm = scroll up, closed fist = scroll down, pinch = click) is concrete and practical rather than the usual 'wave to say hello' demo. The live demo is still up and actually works, which is more than most workshop repos can say two years later.

This is teaching material, not a library — there's no reusable gesture API, just inline wiring between MediaPipe callbacks and DOM events, so you can't pull anything out and use it in your own project without rewriting it. The gesture detection thresholds are hardcoded magic numbers with no calibration step, meaning it will feel broken on anyone with smaller hands or a lower-resolution webcam. No tests at all (the README lists 100% test coverage as an optional 'plus challenge', which tells you everything). Last commit December 2023 and MediaPipe has moved on since — the WASM backend loading patterns used here are already deprecated in newer MediaPipe versions.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →