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.
Build Log
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.
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.
Blue Iris vs Frigate: Why We Moved Our CCTV to Docker
We replaced Blue Iris with Frigate in Docker so our CCTV could run alongside Home Assistant, detect objects locally and live in Git, and the real cost turned out to be memory rather than 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.
An Unattended Windows 10 USB Stick, Built on a Mac: Wipe, Install, Drivers and Apps in One Boot
We rebuilt a family member’s ThinkPad T14s from a USB stick made on a Mac: plug in, press F12, walk away. Polish Windows 10 Pro, Lenovo’s drivers, no bloat, five apps. Here is every script, and every way it broke first.
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.
Home Assistant Local Voice Assistant: Bilingual for $2 a Month
How we built a mostly local English and Polish voice assistant on Home Assistant with Whisper, Piper and a small hosted LLM, what broke along the way, and why it costs about $2 a month.
AI Wake-Up Music: A New Track Every Morning, Tuned to the Day
Our morning briefing used to play over the same loop of music every day. Now Lyria 3 Pro writes a new piece each morning, and three inputs decide how it sounds: the day of the week, the weather forecast and how full the to-do list is.
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.
Banksteer: A Private Finance App on Free Irish Bank APIs
How we replaced a household finance spreadsheet with Banksteer, a private app that reads AIB, Bank of Ireland and Revolut through free open-banking APIs, clears bills by itself and forecasts the months ahead. Built with Claude Code, kept at home, reachable only over Tailscale.
My House Has Opinions: Our Home Assistant Automations
A funny but technically honest tour of the Home Assistant automations in our smart home: motion lights, Adaptive Lighting, cubes, heating, TV manners, energy costs, AI helpers, and the automations that went spectacularly wrong. Written by Claude Code, tested by a human.
Inside the D3X Home Lab: Proxmox, DGX Spark and AI Agents
How a small Irish AI studio moved its lab off one overloaded Mac onto a Proxmox cluster, beside a DGX Spark, a 56 TB NAS and a Home Assistant house, with Claude Code agents planning and running it and a human approving every step that mattered.
Building a 56 TB Home-Lab NAS with an AI Agent in the Loop
Our old NAS failed mid-copy, so a Claude Code agent and a human rebuilt it. The geeky parts (SMART attributes, preclear, 7-second error recovery, parity maths, capacity sums, rsync verification) each come with a plain-English explainer.
Human-in-the-Loop Action Tags: How to Make AI Agents Easy to Steer from Your Phone
A simple pattern for running AI agents from your phone: four coloured action tags, one task per line and a closing ‘For you’ list, so the human in the loop never misses an ask.
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.














