Our first-hand build of a bilingual Home Assistant local voice assistant: what runs on the box, what we sent to the cloud, what broke, what it costs, and why microphones are the real obstacle.
Self-Hosted
Zigbee vs Thread vs Wi-Fi: Picking a Reliable Smart-Home Network
Lessons from a one-week Home Assistant build: why we put 22 of 24 lights on Zigbee, kept Wi-Fi for media and metering, and deliberately parked Thread until the host could support it properly.
Self-Hosted LLM on Your Own GPU Box: What It Really Takes
Running a self-hosted LLM takes a correctly sized GPU, an efficient inference server and an operational layer for auth, monitoring, updates and fallback, and that last part decides whether it survives.
Self-Hosted LLM vs API: Cost, Latency and GDPR Trade-offs
For most businesses an LLM API wins on cost and speed to ship, and self-hosting an open-weight model only pays off with high steady volume, strict data control or tight latency needs.
We Stopped Renting Our Own Photos: 62,157 Memories Moved from Google Photos to Immich
Google Photos is free until your memories pass 15 GB. Ours were 565 GB. Here is how we moved 58,039 photos and 4,118 videos to Immich on our own NAS, what the Takeout tried to do to us, and the one thing Google really was doing for the money.
My Wife’s Claude Code Talks to My Agents: Two Claude Accounts, One Home Lab, Six Locks in Between
My wife has her own Claude subscription. Now she has her own Claude Code session too, on her account, opened from her phone. It can message me, run everyday things in the house and ask my agents to find things. It can’t touch the lab. Here is how it’s wired, and the two bugs that hid my replies.
Home Lab Documentation That Keeps Itself Current: Gitea, GitHub and a Nightly Snapshot
Every repo in our lab lives on a self-hosted Gitea first and is mirrored to private GitHub as a backup. A wiki rebuilds itself minutes after each change, and every night the live configs of the lab are copied into git with the secrets taken out and the inventory pages are rebuilt from the live systems.
Zulip and ntfy: A Private Chat for Our AI Agents
Our AI agents used to reach us through a crowd of Telegram bots, desktop pop-ups and a public push topic. We replaced it with a self-hosted Zulip chat, a local ntfy push server and one small relay: one channel per job, and the phone only buzzes when a person is actually needed.
What We Do
Product
Consumer and enterprise software, built with taste and shipped fast.
Infrastructure
AI agents, automation, and orchestration - production systems, not demos.
Advisory
Hands-on engineering and strategy for teams shipping AI into production.







