Backend engineer since 2002, from Belo Horizonte, Brazil.
Off the clock I build tools for coding agents, and keyboards: the layout, the firmware and the hardware.
Sleep while your agents code. An orchestrator for autonomous coding agents. It pulls issues from GitHub, renders them through prompt templates, and runs each agent inside an isolated sandbox, a git worktree or a container, with dependency-aware parallel scheduling and a local portal for watching the runs.
It exists because agentic engineering needs the same things any delivery process needs: a clear specification, an isolated execution boundary, an event log, verification, and a human review gate.
$ sandman run 42 43 44 45sandman.run · Repository · Go
A layout analyzer that types the way the keyboard does. Layout analyzers score a grid of letters. A ZMK keymap is not a grid of letters: it has one-shot and momentary layers, combos, adaptive and repeat keys, sticky shift and caps word, and each of them changes which physical keys a word actually costs. LayerBench simulates how a corpus is typed on the real keymap, then computes same-finger bigrams, scissors, rolls, redirects and effort on the resulting physical key stream. It runs entirely in the browser.
The keyboard should be in NORMAL when the editor is. zmk-vim-mode keeps a ZMK keyboard's layers in sync with the editor's real Vim state: NORMAL in normal mode, INSERT while typing, and out of Vim layers entirely when keys must pass through untouched.
That needs the host to tell the keyboard something, and HID runs keyboard to host. Except for one byte: the output report the host sends to light Caps Lock and Num Lock. Three of its bits, Scroll Lock, Compose and Kana, are never set by any operating system, so together they make a silent 3-bit channel, eight states, more than Vim has modes. It works the same over USB and Bluetooth, with no pairing and no custom transport. A 60 ms hold-off and a 150 ms guard keep a stale host message from undoing a correct local one: the keyboard wins in motion, the host wins at rest.
Ask the keyboard, not the operating system. An on-screen HUD that shows the layer you are on and lights the keys, combos and macros as you press them, drawn from the same keymap the firmware is built from. It is for learning a layout, and for recording or sharing a screen while you type on one.
Overlays like this usually infer the key from an OS event tap. This one infers nothing: a small ZMK module reports the keyboard's own active layers and the position of every press, over Bluetooth or a serial interface of its own on USB, so the HUD shows what the firmware did rather than what the host saw. It runs as a native overlay panel on macOS and a layer-shell panel on Hyprland, and redraws live when the keymap changes.
| Module | What it does |
|---|---|
| zmk-layer-morph | Morphs a keypress into a different binding when any of a named set of layers is active, so one keymap serves both macOS and Linux base layers. |
| zmk-os-detection | Tells macOS from Linux by how the host reads the keyboard's descriptors, over USB or BLE, and flips one layer to match. It never guesses. |
| zmk-sentence-case | A sentence-aware space: after a full stop, question or exclamation mark, the next letter comes out capitalized. |
| zmk-dongle-display fork | Peripheral status screens on the dongle display: host connection and every half's battery. |