Self-hosted cluster across mini PCs and Dell PowerEdge servers
At a glance
Mixed RAIDZ2 pool on TrueNAS, plus a fast NVMe tier
Co-authored production observability strategy for Vault at scale
Distributed infrastructure, LLM serving, observability, trading, and AI agent tooling
Migrated off GitHub, building behind my own infrastructure
MultiStrat composite scoring engine inside Inspector Gadget
Merged bugfixes, performance patches, and features into the LLM-inference and agent-infra projects I build on (vLLM, llama.cpp, ROCm/aiter, and more). Full history on GitHub.
Writing
HashiCorp Vault observability: Monitoring Vault at scale
A production-grade playbook for monitoring HashiCorp Vault: log analysis, telemetry, API and synthetic monitoring, and how to combine them into a coherent strategy. Written for platform teams running Vault as a shared service, with real guidance on baselines, alert thresholds, and the questions a mature Vault deployment should be able to answer.
Recent Projects
LLM Inference on Prosumer GPUs
Active buildA 27B-parameter model served on prosumer AMD GPUs
vLLM serving Qwen3.8-27B (AWQ W4A16) across a 3-card AMD Radeon AI PRO R9700 (RDNA4) box, fronted by LiteLLM as a single OpenAI-compatible endpoint. Two cards run the same model as twin engines behind one LiteLLM group, so either backend can be pulled for maintenance and the model keeps serving. Instrumented from day one: metrics to VictoriaMetrics, logs to VictoriaLogs, and a single Grafana dashboard with click-through log correlation and three alerts.
homelab-mcp
Always onA conversational front door to the homelab
A Go MCP platform across the whole homelab, ten gateway services turning Nomad, Vault, Postgres, Cloudflare, and the rest of the estate into tool calls a model can make. On top, a chat interface that lets non-technical family members deploy Minecraft modpacks by literally just asking: it finds packs across CurseForge, Modrinth, and FTB, orchestrates Nomad job templates, manages Cloudflare DNS, and persists worlds on TrueNAS NFS. UUID bearer tokens, zero IT tickets from the family.
Marshal
Active buildCross-harness, cross-machine agent coordination
A Rust coordination service that lets Claude Code, Codex, Pi, Prime Agent, and opencode sessions, on one machine or spread across a network, see each other and pass messages. After install, a roster resource lists every live session, send_message reaches them, and harness-specific delivery surfaces inbound peer messages.
Pondside Datacenter
Always onProduction-grade infrastructure for an audience of one
A seven-node Nomad cluster running on GEEKOM mini PCs and Dell PowerEdge servers, fronted by Traefik, secured with Vault using JWT workload identity, discovered through Consul, balanced by HAProxy and Keepalived. TrueNAS-backed storage with roughly 72 TiB usable on the spinning rust pool plus a fast NVMe tier. Yes, my home network has SLAs. No, I will not apologize for it.
Homelab Observability Stack
Active buildOne year of metrics, logs, and traces, on my own iron
VictoriaMetrics for long-term metrics on NFS, Prometheus as a short-window scrape buffer doing remote_write, MinIO-backed Loki for logs (object storage beats NFS for log workloads, every time), and Grafana Alloy as the unified collector. Shelly Gen 4 smart plugs feed power telemetry into the same pipeline. One-year retention target. Thanos and Cortex were considered and politely declined.
Pondside Power Backup
ShippedWhen 'high availability' starts including the power company
5000W inverter/charger paired with 48V LiFePO4 rack batteries to keep the homelab fed when the grid blinks. Class T fusing, 2 AWG runs, BMS data flowing through RS485 into Prometheus and Grafana, because if it isn't graphed, it didn't happen. Solar-ready when the panels arrive.
Inspector Gadget Strategy
In productionComposite-signal options system with 30+ pluggable strategies
The swing-side answer to scalping. A MultiStrat catalogue of 30+ strategies feeds a single composite score from -1.0 to +1.0, gated by EMA crossover confirmation. Decide on candles, execute on ticks. Targets 30 to 45 DTE contracts with delta in the 0.55 to 0.65 zone, sized at 2% account equity per trade.
Interests
Go as a default
Boring on purpose, fast where it counts, the binary always ships, and the standard library does most of what you actually need. Pick a language for the next decade, not the next thread.
Self-hosted everything
I run my own git, container registry, DNS filtering, identity, observability, and AI inference. Cloud bills make terrible souvenirs. Sovereignty over your tooling compounds in the same way debt does, just in the right direction.
The HashiCorp stack
Nomad, Vault, Consul. Kubernetes is great if you have a Kubernetes-shaped problem. Most people don't, and Nomad gives you 90% of the wins with 10% of the operational tax.
AI infrastructure and agentic systems
Local LLMs on consumer hardware, MCP servers in front of every system I run, and strong opinions about where agentic tooling lands in the next 24 months. Spoiler: most of the value will be in the boring plumbing, not the chat UIs.
Quantitative finance, applied
EMAs, Greeks, walk-forward analysis, deflated Sharpe, Monte Carlo. Less 'get rich quick,' more 'watch the math work and respect when it doesn't.'
Long-game life design
Index-fund discipline, deliberate skill stacking, and a written plan for an EU-based second act. The spreadsheet reconciles, the passport math works, the language lessons started yesterday.
SRE as a worldview
Error budgets, blameless postmortems, and the conviction that most outages are systems telling you the truth about decisions you made six months ago. The discipline transfers to almost everything else worth doing.
Hobbies
Dungeons & Dragons
Player and DM, currently running an Aasimar Cleric and a Bard while occasionally subjecting friends to homebrew encounters from the other side of the screen. Best therapy I've found that doesn't involve a copay.
Live-fire cooking
Pellet smoker, slow cooker, Instant Pot, in roughly that order of patience required. A 14-hour brisket teaches you something a pressure cooker never will, and vice versa.
ATV riding and wrenching
2007 Yamaha Raptor 700, maintained in my own garage. Utah has the kind of trails that make you grateful for both a strong engine and a healthy spine.
Path of Exile
Currently running CI Spark with CoC Comet. The build-complexity-to-reward ratio scratches the same itch as infrastructure design, with fewer pager alerts.
Electronic music
Dark techno, bass house, tech house. The soundtrack to most of the projects above and the reason my home office occasionally doubles as a small club.
Traveling well
Delta Platinum Medallion. Recent trips through Morocco, California redwoods queued up, Spain on the long horizon. The miles are a hobby; the language lessons are an investment.
Two terrible coworkers
An Aussiedoodle and a Maltipoo who report directly to me and respect exactly none of my uptime guarantees.