Control plane
Home Assistant, versioned as code.
Home Assistant is the hub for lighting, climate, locks, sensors, and presence across both properties. Automations live in Git alongside the rest of the config — diffable, reviewable, revertible.
Interests
Off the clock those same habits don't turn off. I still version-control everything, I still want a rollback plan before I touch a config — I just can't help it at this point. And I'd rather own the hardware than rent someone else's cloud for stuff that has to work when my internet doesn't.
Home lab
Everything runs on hardware I own, in containers I can rebuild from a private Git repository. No vendor lock-in, no cloud dependency for anything that has to keep working when the internet doesn't.
Control plane
Home Assistant is the hub for lighting, climate, locks, sensors, and presence across both properties. Automations live in Git alongside the rest of the config — diffable, reviewable, revertible.
Compute & containers
Two Ubuntu 24.04 hosts split the load — one runs automation and monitoring, the other serves the public site. Portainer gives both a single interface for lifecycle and health.
Observability
Prometheus scrapes node and container exporters on both hosts; Grafana turns that into dashboards for uptime, energy use, and storage headroom. Same tools I would reach for in a production stack, sized for a home lab.
Access & edge
Admin surfaces stay on a Tailscale mesh. Only the public site reaches the internet, proxied and TLS-terminated at Cloudflare. The rest of the stack is unreachable from anywhere I haven't explicitly logged in from.
Citizen science
A Raspberry Shake seismometer runs alongside the home lab — streaming ground-motion data to the global Raspberry Shake network and into local dashboards. Home Assistant picks up significant events; Grafana holds the long window. Small station, real data going into a public dataset.
Two houses
Each home is its own environment — different climate, different hardware, different failure modes. The stack is the same; the automations are shaped by the house.
Signal Hill, California · 33.8042° N · 118.1678° W
Harbor views, hard sun, and a cooling problem worth solving with software. Climate control, solar and energy monitoring, and exterior cameras are the active work here.
Seattle, Washington · 47.6062° N · 122.3321° W
Rain sensors, humidity management, and lighting that compensates for four months of grey. Network core lives here too — the piece of the stack that everything else depends on.
Also happy to compare notes on