Projects

Things I've built and still maintain — software first, because that's most of it. The backlog is public too; it's more honest than pretending the list is finished.

ferry

/projects/ferry
software active

An L4/L7 edge router and load balancer in Go, with Maglev hashing on an XDP fast path and config that reloads without dropping a connection.

Go · eBPF · XDP · gRPC
  • go
  • ebpf
  • networking
  • load-balancing

pi-tower

/projects/pi-tower
infra active

Six Raspberry Pi 4s running k3s in a printed rack. The half of the homelab I'm allowed to break.

k3s · Cilium · Flux · Raspberry Pi 4
  • k3s
  • cilium
  • flux
  • homelab

voron 2.4

/projects/voron-24
hardware active

A 350mm Voron 2.4, currently torn down, and an open question about whether it gets rebuilt as itself or becomes something else.

Voron · CoreXY · Klipper
  • 3d-printing
  • voron
  • corexy
  • klipper

printers

/projects/printers
hardware maintained

Printing since 2017, and building machines from scratch for most of that. The fleet, the rebuilds, and what each one taught me.

Prusa · CoreXY · PrusaSlicer · OrcaSlicer
  • 3d-printing
  • corexy
  • hardware
  • builds
Backlog 15 Not started · effort
respawn A Kubernetes operator for game servers. Declare a Minecraft or Factorio server as a CRD and get scheduling, persistence, backups, and scale-to-zero. planned L
slab SLOs as code: write a spec, get multi-window multi-burn-rate Prometheus alert rules, a Grafana panel, and an error budget you can query. planned M
spool Filament inventory that decrements itself. An NFC tag per spool, and Moonraker reporting grams off the roll when a print finishes. planned M
drift Continuous Terraform drift detection that correlates against your own apply history, so a change you made doesn't wake anyone up. planned M
farm Print farm scheduler. Queue jobs across every printer, route by material, nozzle and build volume, notify on failure. planned L
dashkit Grafana dashboards as typed TypeScript. Compose panels as functions, diff them in review, generate the JSON. planned M
replay Record-and-replay HTTP proxy. Capture real traffic, redact it, replay it against a build to catch what unit tests won't. planned M
ledger Homelab power and cost accounting. Smart plugs and PDU joined against electricity rates, answering what the cluster actually costs. planned S
bootstrap Bare metal to a running cluster in one command. Netboot the Pis, image them, join k3s, hand off to Flux. planned L
lookout The observability stack (Prometheus, Loki, Tempo, Grafana, Alertmanager), and honest write-ups of what it has and hasn't caught. planned M
holdfast Backups I have actually restored from. Restic to local and offsite, with scheduled restore drills that fail loudly. planned M
meshwork Re-planning a home network that grew a device at a time. VLANs whose boundaries stopped meaning anything, and a primary subnet running out of addresses. planned M
festoon A holiday lighting controller that stays powered on. Diagnosing why the current one doesn't, then building something that does. planned M
chamber Instrumented printer enclosure. ESP32 reading chamber temp, humidity, filtration and power, scraped into the same Prometheus as the servers. planned M
sortbrick Lego sorting machine. A printed feeder and conveyor, a camera, and a small classifier that sorts parts into bins. planned XL