Why it mattersCoding agents now have a spatial output surface a developer can point at, throw and pull with bare fingers, without a headset or extra hardware, and any tool that can write a file to disk can drive it.
barehands is an AGPL-3.0 project from Jared Rhodenizer that turns a laptop's webcam and a Chrome tab into a hand-tracked stage that any AI assistant can drive. The repository was created on 15 August 2026 and reached 898 stars and 197 forks by 6 September, a fork ratio of one in five that reads as real use rather than a star drive-by.
Notes, images and 3D models float over the camera feed as glass cards. A pinch drag moves them, two hands scale, a flick throws them across the screen, and a two-second held claw yanks a distant card into the user's hand. Palms together and fingers up sweeps the stage clean. The hand-shape gates are computed as ratios rather than pixel sizes, so they hold at any camera distance.
What runs, and how it talks to an agent
The server is Python stdlib on port 8794, and the page loads Google MediaPipe for hand tracking and three.js for rendering from public CDNs, both permissively licensed. No headset, no controllers, no gloves.
The AI side is two small file-based protocols and no SDK. Writing thinking, idle, listening or speaking into a state file drives the on-screen ring, which is the agent's face on the board. A shell entry point accepts JSON commands, so a present verb flies a card to centre stage, dims the rest, and spotlights it; add_card, add_img, hand, explode, yank and hover stage the ensemble pieces. A read-back script prints what is currently on the board so the model can look before it talks. The server enforces an action allowlist and confines all media to a single folder.
Anything that can write a file or curl localhost qualifies as the brain: Claude Code, a local model, a cron job, a Stream Deck button. In a Claude Code session, two hooks mirror the real agent state onto the ring in the room.
Existing notes stay where they are
The notes orb reads a folder of Markdown, which means an existing Obsidian vault is a config line rather than an import. Paths and orb kinds are declared in a small JSON file, one row per orb. The gestures were tuned on a real hand across weeks of use, and a troubleshooting document ships a debug overlay and pose sampler for cases where a gate misfires on a different hand or a different camera.
The one real friction is the licence. AGPL-3.0-or-later means a business can run and modify it freely, but a modified version shipped as a network service must open its source under the same terms. Rhodenizer mentions a paid closed-source licence path for embedding it inside a shipping product.
Source
jaredrhod/barehands on GitHub. Star, fork and creation dates from the GitHub REST API, verified 7 September 2026.
Source: GitHub
This item was written by an AI system from the linked source. Reveneau is responsible for what it publishes.
Get AI News in your inbox
New developer tools, model and agent releases, and how teams are actually shipping with them. Short, and only when there is something worth reading.