A small home fleet — a handful of small machines, each with one clear job, instead of one big server.
Inference
2× NVIDIA DGX Spark (Grace Blackwell, 128 GB unified memory each): one private inference node; one sandboxed experiment box shared with a friend, fully isolated from the rest of the network
The private node serves a four-model portfolio, picked by role:
gpt-oss-120b — hardest reasoning and agentic tool use; ~43 tok/s measured (117B MoE, fastest in the fleet)
Qwen3.6-35B-A3B — fast agentic coding, the daily driver; ~26 tok/s
Qwen3.6-27B (FP8) — dense model for quality-over-speed repo-level coding; ~8 tok/s
A small instant-answer model (~100 tok/s) handles trivial lookups
Everything served locally via vLLM and Ollama; nothing resident until called
Assistant front door
A repurposed MacBook Air runs an always-on personal assistant (OpenClaw), reachable over my normal chat apps
Long-running and background jobs hand off one-way to a worker mini-PC running Hermes Agent — deliberately credential-poor: it can do work, but it can’t touch the rest of the fleet
Control plane + edge
An always-on mini-PC hosts Prometheus + Grafana and drives an ultrawide wall display with live fleet dashboards
The same box doubles as a remote workstation: SSH over a mesh VPN into a tmux session with Claude Code, no laptop required
One Raspberry Pi is the independent watchdog: uptime checks plus self-hosted ntfy push alerts that fire even if the monitoring host itself dies
A second Pi runs a personal AI curator: it ingests my feeds, scores items against a learned taste profile with an LLM, and renders a daily “For you” panel on the wall
Principles
Every box has one job; network segments are default-deny behind a hardware firewall
Worker machines hold no credentials that matter; anything compute-shaped is disposable and reflashable
Documented so a cold rebuild loses nothing — Claude Code is the operating partner: it runs the builds, verifies its own changes against the live systems, and keeps the runbooks