Go & Kubernetes
- Gooperators, ConnectRPC, pgx/v5
- kubebuilderCRD design, CEL validation, admission webhooks
- controller-runtimeenvtest, kind e2e, reconcile loops
Infrastructure / Go / Applied AI
Infrastructure engineer working the full vertical slice - kernel TCP stats up to LLM prompt architecture. Go operators, distributed caches, agent infrastructure. Off the clock: local LLMs and a homelab that keeps growing.
Infrastructure engineer in Austin. Mostly Go - operators, microservices, distributed systems - with Python for agent tooling. The pattern that keeps repeating: take a fragile, manually-operated system and turn it into a declarative, observable surface someone else can run.
Lately that means agent infrastructure. Built a production agent harness twice - Python first, then ported onto a Go platform. Custom MCP servers, safe-eval sandboxes with AST allowlists, model routing with health-class failover, side-channels that keep full result sets out of the LLM context. Security lives in code, not in the prompt.
Before that: observability that catches real signal - Prometheus recording rules, z-score alerting, dashboards as code, access logs flowing through ClickHouse into pre-aggregated gauges. CI that respects developer time - dependency-aware test matrices, timing-fed sharding.
This site is static, served from Cloudflare's edge. Dynamic stuff lives on subdomains pointing back to the homelab through a Cloudflare Tunnel.
What I reach for, by category.
Things I've built. Hit shuffle for a random tour.
507 when the cache can't hold the working set; RDMA when enabledTCP_INFO via getsockopt - RTT, retransmits, cwnd, delivery ratego.work, stdlib includedatomic.Pointer - hot-swap without locks_bucket series - threshold-on-gauge alerting insteadThe rest of it. Where the hours go when the laptop closes.
batchison@lab:~$ cat current_state.yml
homelab:
os: Unraid
compute: 8th gen Intel i5 NUC (32GB, 1TB SSD, USB 2.0 drive)
storage: Synology DS1621+ (96TB raw)
llm: [LM Studio, Ollama]
network:
isp: AT&T Fiber
gateway: UCG Fiber
switching:
- USW Pro XG 8 PoE
- 3x USW Flex 2.5G 8 PoE
- USW Flex 2.5G 8
aps:
- 2x U7 Pro Wall
- U7 Lite
backup_wan: [U5G Max, C4P Shield]
dns: NextDNS
ingress: Cloudflare Tunnels
desk:
case: Jonsbo Z20 (SFF)
cpu: Ryzen 9800X3D
gpu: RTX 5090
display: LG C3 42" OLED
batchison@lab:~$ _
Chasing a wall of sound. Skip the bass shakers - just make actual bass. Every slot has been upgraded at least once:
Someone else's cloud is just a computer you can't touch. 96TB humming in the corner, local models on tap, ingress through Cloudflare Tunnels - no open ports, no exposed IP.
2023 BMW M2, six-speed manual - worked up through an MX-5, a Mazda3, and a RAV4 to get here. Tune and exhaust on the list. When the weekend clears, it's backroads and elevation.
Trips get planned around food first, sights second.
Destiny and Halo above all. Cyberpunk, Civ VI, Black Flag on rotation. Nintendo everything - Zelda, Pokemon, Mario. OSRS when the grind itch hits.
Ganja White Night, LSDREAM, Of The Trees, ATLIENS, Illenium, Excision
Martin O'Donnell / Michael Salvatori - Halo, Destiny
Hans Zimmer, Hania Rani
Phil Collins, Coldplay
Lost Lands, Illfest
Overnight dry brines, reverse sears, wagyu tallow on everything. Current high score: 8.85lb of beef plate ribs. Oven and stainless for now - grill is next.
LinkedIn is the best way to reach me. GitHub works too.