I write tools that run local AI workloads and tools that keep a self-managed home network running — and the two concerns overlap more than you'd expect. Most of it is Rust, configured with Nix, edited in Emacs.
Running inference at home across a mix of machines means dealing with routing, resource contention, and visibility. This stack handles that without reaching for any cloud services.
-
garage-queue
— A capability-aware work queue. Producers submit payloads; the queue routes each item to a worker that advertises the right hardware and software capabilities to handle it. The queue itself has no knowledge of any particular workload — that lives entirely in configuration. Can be configured to route Ollama inference requests to machines with sufficient VRAM and the right models loaded. This is the central dispatcher for the whole stack.
-
proc-siding
— Monitors GPU utilization and pauses a watched workload when it detects sustained external pressure. Keeps background inference jobs from fighting over the GPU when the machine is in active use.
-
metalps
—
ps, but for the GPU. Shows per-process Metal utilization, VRAM footprint, and device-level statistics on macOS. The visibility layer that makes the other two possible to reason about.
This is less "personal cloud" (file sync, productivity apps) and more owning and operating the full stack of a small network: identity, DNS, configuration, and automated remediation — all declarative, all reproducible.
-
dotfiles — Despite the name, this is a Nix configuration for an entire network of machines. Every host is defined as code and deployed with a custom copy-closure tool. The foundation everything else builds on.
-
nix-hapi
— Declarative API management via Nix expressions. Describe the desired state of external services as pure Nix, and nix-hapi reconciles live state to match. Stateless — no state file, always diffs against what's live.
- nix-hapi-provider-ldap — Reconciles LDAP directories (OpenLDAP, 389ds, etc.) declaratively.
- nix-hapi-provider-porkbun — Manages DNS records via the Porkbun API.
- nix-hapi-provider-aruba-cx — Manages Aruba CX network switches.
-
dns-smart-block — Network-level domain blocking informed by machine learning classification. Sits at the DNS layer so it applies to every device on the network.
-
sonify-health
— Turns infrastructure health into ambient sound. Each machine
self-reports via percussive heartbeat boops and a continuous stress
drone — a Star Trek bridge feel that encodes real meaning into
peripheral awareness without requiring visual attention. -
sytter — IFTTT for a host. Watch for a runaway process and kill it; trigger a script when a USB device is plugged in; turn off Bluetooth when the system sleeps. Any observable host event can trigger any action you configure.
- monad-oxide — A Ruby
port of Rust's
ResultandOptiontypes. Bringing explicit error handling to a language that throws everything.
Tabletop gaming (Warhammer 40K, D&D world-building), 3D printing and OpenSCAD modeling, and tinkering with Gridfinity storage systems.





