Furwall – macOS menu bar app that blocks keys when your cat sits down
Furwall is a tiny macOS menu bar app. While you're at the keyboard or mouse, the FaceTime camera looks for a human face or upper body. When it doesn't find one, the keyboard stops accepting input. Cat walks across your laptop, nothing happens to your code. Some notes: Apple's Vision framework runs locally. Video is processed in memory and never uploaded. On a block, Furwall saves one local JPEG to ~/.furwall/catpures/. A second Vision pass throws out anything that isn't a cat, so the daily count in the menu only reflects confirmed cats. There is now a folder on my disk that is…
What it does
In the maker’s words, at launch
Furwall is a tiny macOS menu bar app. While you're at the keyboard or mouse, the FaceTime camera looks for a human face or upper body. When it doesn't find one, the keyboard stops accepting input. Cat walks across your laptop, nothing happens to your code. Some notes: Apple's Vision framework runs locally. Video is processed in memory and never uploaded. On a block, Furwall saves one local JPEG to ~/.furwall/catpures/. A second Vision pass throws out anything that isn't a cat, so the daily count in the menu only reflects confirmed cats. There is now a folder on my disk that is slowly filling up with photos of Pepper and Beets walking across my keyboard. The camera turns on only while you're at the computer (typing, mouse motion, app switch, screen wake) and powers down 30 seconds after the last activity. The green camera dot tracks that. The keystroke drop uses a CGEventTap at .defaultTap. Furwall ships unsandboxed because of this. A .listenOnly tap with Input Monitoring is enough to see keys, but dropping them needs .defaultTap, which needs Accessibility, which the App Sandbox blocks. Watching keystrokes is sandbox-compatible; stopping them is not. Mouse events are observed (to wake the camera) but never intercepted or dropped, so the menu bar always works. Three escape hatches: click the icon and quit, mash Escape five times in 1.5 seconds for a 5-minute pause, or revoke Accessibility in System Settings (macOS invalidates the tap). If Vision stalls for any reason the keyboard fails open after 10 seconds, which is better than soft-bricking the machine. Furwall never uploads camera frames or keystrokes. Its own network traffic is Sparkle update checks plus the donate sheet's anonymous totals/click counter. One short charity slug per click, no user identifier. The donate item in the menu opens the donate page of a vetted animal-welfare charity for your system Region. Ten orgs across nine regions: Alley Cat Allies and PetSmart Charities in the US, Cats Protection in the UK, Cat Protection Society NSW in Australia, Toronto Cat Rescue in Canada, NSPCA in Ireland, SPCA in New Zealand, Deutscher Tierschutzbund in Germany, La SPA and Fondation 30 Millions d'Amis in France, Japan SPCA in Japan. Each org is registered or recognized under its local charity or nonprofit regime, and the list gets re-vetted every release. No money flows through the app. macOS 15+, signed and notarized, MIT. https://olliewagner.com/furwall
Does the same job
all alternatives →More dev tools this month
the category →



Open-source GTM skills for technical founders
Dev tools · 29d ago · gtmcofounder.com

OpenTrailPaper is open-source bike computer firmware for the LilyGO T5S3 4.7" E-Paper PRO. It supports offline maps, GPX routes, FIT recording and Bluetooth sensors.
Dev tools · 2d ago · opentrailpaper.com

Launched alongside, May 2026
the whole month →

Parallel agents, diff reviewer, and multi-model comparisons
Dev tools · May 2026 · kilo.ai


- NW
Hey HN, Henry here from Cactus. We open-sourced Needle, a 26M parameter function-calling (tool use) model. It runs at 6000 tok/s prefill and 1200 tok/s decode on consumer devices. We were always frustrated by the little effort made towards building agentic models that run on budget phones, so we conducted investigations that led to an observation: agentic experiences are built upon tool calling, and massive models are overkill for it. Tool calling is fundamentally retrieval-and-assembly (match query to tool name, extract argument values, emit JSON), not reasoning. Cross-attention…
Life & fun · May 2026 · github.com
- FM
Dev tools · May 2026 · github.com