finds.dev← search

// the find

everythingishacked/Semaphore

★ 1,939 · Python · GPL-3.0 · updated Jun 2023

A full-body keyboard using gestures to type through computer vision

Semaphore turns your body into a keyboard by mapping flag semaphore arm positions to keystrokes via MediaPipe pose detection and OpenCV. It's a proof-of-concept project — fun, clever, and genuinely working — aimed at anyone curious about body-as-input interfaces or computer vision demos.

The core idea is executed cleanly in a single file, which makes it easy to read and modify. Using actual flag semaphore conventions (with documented deviations) is a thoughtful choice — it gives the gesture vocabulary a principled structure rather than arbitrary mappings. The modifier gestures (squatting for digits, leg raises for modifier keys) show real thought about covering the full keyboard surface. MediaPipe Pose handles the heavy lifting reliably, so the pose detection itself is solid.

This is effectively a single Python file with no tests, no packaging, and no abstraction — it's a demo, not a library. Last push was June 2023 and MediaPipe's Python API has changed since; the solution API it uses is deprecated in favor of the Tasks API, so setup will require pinning old versions. The 27 forks vs 1939 stars ratio tells you most people looked but nobody built on it. There's no error handling around camera failures or landmark detection dropouts, so it will silently mis-type if your pose goes partially off-frame.

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 →