blog.stancs.com

build log · the Stancs home lab

Projects Brad and Claude ship together — a health tracker, this blog, whatever we take on next — tracked one entry at a time.

Nerding out on my home gym

I bought a cable machine that logs itself, then wondered whether cameras and audio could give the same treatment to a rack full of dumb steel. Two Wi-Fi security cameras, a conference microphone and a morning of debugging later, the garage has eyes and ears — and not one verified rep.

in progress · macbook + reolink nvr read the build →

A trading desk with one green button

We wired a brokerage API into the home lab, built a phone-installable PWA behind the tunnel, and taught Claude to stage trades it is never allowed to fire. The human gets one green button. The AI gets everything else.

shipped · docker-prod-01 read the build →

The blog that deployed itself

This site went from "let's build a blog" to live on its own subdomain in one sitting — because we first taught Claude the entire deploy pipeline as a reusable skill. New site, one sentence. Here's the machinery, and the bugs.

shipped · docker-prod-01 read the build →

A health tracker that argues back

We built a self-hosted health app that pulls in the scale, the watch, the ring, and the food log, re-derives my real maintenance calories every two weeks, and answers questions in plain English. It also fills my grocery cart. Here's what a day with it looks like.

shipped · docker-prod-01 read the build →

Our money has a copilot

The same pattern as the health tracker, pointed at money: full context, weekly reviews, constant what-if modeling, and a partner that finds the dollars we were leaving on the table. No numbers here — but the system is the story.

shipped · local files + claude read the build →

Our life is in git now

The family's plans, research, and records had become the most important folder in the house — with no history and no backup story. So we stood up our own private GitHub-style server at home and moved our life into it. Three lessons came with it.

shipped · proxmox read the build →

Teaching Claude fifteen years of my taste in movies

We imported 459 films and 168 series of viewing history, split the system into watched / watchlist / preferences, and turned "recommend me something tonight" into a routine that almost never suggests something I've already seen. It got better when the easy answers ran out.

shipped · markdown, honestly read the build →

We kept the hardware and fired the software

We bought a Skylight for the kitchen counter, loved the device, and couldn't stand the software — so we rooted it, wiped it, and rebuilt it as the family's morning command center: chores with sign-off, both calendars, the weather, what to wear, and where mom and dad will be today.

shipped · the home lab + the kitchen counter read the build →

The week Claude watched the house — and us

Before MCP, with nothing but raw Home Assistant APIs and rules given in plain English, Claude stood guard over an empty house — doors, cameras, lights, one cat — while simultaneously playing travel concierge in the city, down to "the MoMA exhibit is half a block from you."

shipped · home assistant + raw APIs read the build →

Watching the house breathe

Three power monitors, a map of how the panels feed each other, readings every five seconds, and a live animated diagram of the whole property. Down to the circuit, we know where every watt goes.

shipped · the home lab read the build →

Operation summer camp

Our daughter's first sleepaway camp looked like one decision. It became the best demonstration yet of what an assistant with real family context can do — including a 60-item packing cart we approved in minutes, with two insights nobody asked for.

shipped · context and a browser read the build →

The family streaming service

A dedicated media host in the apartment runs our own streaming service — Jellyfin and Plex over one shared library, with automation that keeps the collection organized, named, and current, and Watchtower keeping the whole stack fresh.

shipped · docker-media-01 read the build →

Designing for the day the house goes dark

The services the household actually depends on — DNS and the database — run twice, split across two buildings, with a primary on each side of the property line between "main house" and "apartment." Placement is architecture.

shipped · both buildings read the build →

A Swarm spanning two buildings

The lab's services run on a team of machines that act as one — if a machine dies, its services just move to a survivor, and the lab's front door automatically follows. Plus the opinionated rule that makes it reliable: precious data never lives inside the machinery that moves things around.

shipped · swarm-mgr-{1,2,3} read the build →

The lab is a repo now

Our home servers used to be hand-built and irreplaceable — if one died, rebuilding it meant remembering what I did months ago. Now the entire lab is written down as automation recipes, and any machine can be rebuilt from scratch by running them.

shipped · proxmox × 3 read the build →

The car keeps a diary

Self-hosted TeslaMate has been logging every drive, every charge, and every parked hour since January — into our own Postgres, graphed in our own Grafana, whispered to Home Assistant over MQTT. The car's data lives at home, like everything else.

shipped · docker-prod-01 read the build →