The Journey
Notes from the journey — infrastructure, learning, and building in public.
-
I Gave the AI a Browser, and We Shipped the Redesign
The redesign had been sitting on a preview port waiting for my eyes, because I was the only one in the loop who could see pixels. That changed today: headless Chromium went onto the server, and suddenly every change came back with screenshots attached. What followed was the most productive day this site has ever had — a rebuilt footer, a scroll-driven purple Earth with ethernet cables patching into world capitals, my actual rack photo on the homelab page, live Docker stats on three pages, and the whole thing pushed to production before bed.
-
I Sat Down to Add One Button and Rebuilt Half My Smart Home
The plan was small: wire a few Home Assistant controls onto my Stream Deck. Opening Home Assistant to do it exposed the real state of things — five broken integrations, and a chunk of the house that lived in Apple Home but had never made it into HA at all. So the button waited. What followed was a day of standing up a Matter server, untangling why my devices were spread across three VLANs that Matter can't see across, migrating the whole Meross fleet to local control, and clearing every broken integration off the board. Classic me: I went in for a light switch and came out having rebuilt the foundation.
-
I Built a Status Page, and It Caught My NAS Crashing Before I Finished Setting It Up
The plan was a quiet evening standing up Uptime Kuma to watch the homelab. On its very first round of checks it flagged Immich as down — a real outage, not a config mistake. That kicked off a four-hour hunt that ran through stale CIFS mounts and a misbehaving Samba service before SSH into the NAS finally gave a straight answer: the disks were perfect, and smbd was segfaulting on a corrupted database held in RAM. The monitoring's first job turned out to be catching its own storage backend falling over.
-
Moving Immich to the NAS — and the Drive That Tried to Take My Photos With It
A simple storage migration turned into a genuine scare when the external SSD holding my entire photo library dropped offline mid-copy and the filesystem went into emergency shutdown. SMART was clean though — it was the USB connection all along. One cable swap later: a clean 107 MB/s copy, verified file-for-file, and Immich now living on the NAS.
-
Taking the Email Off the Page, and Knowing When to Undo a Logo
Pulled my real email out of the contact form and routed it through a masked endpoint, added tag filtering to the blog so posts can be browsed by topic, then spent the evening building a custom logo to replace the placeholder diamond — tried it in the nav and footer, decided it wasn't right, and reverted it. Finished by pushing the day's work live.
-
The Copy Goes Live, and the Lab Page Turns Personal
Shipped the copy and card rework that had been sitting on the local server, matched the portfolio subpages to it, then pulled the Lab out of the public site and rebuilt it as a personal launcher that only links the services already safe to be public. Finished by catching the blog up and writing a small script to generate posts from journals.
-
Sharper Words, Smaller Cards: A Copy Pass on the Portfolio
Went back to the portfolio that shipped yesterday and fixed the part I'd skimmed: the writing. Stripped the filler out of the copy, rewrote it to talk to an employer, shrank the project cards down to a title and a Details button, and made the dead buttons actually work — all kept local for review, nothing pushed yet.
-
Three Designs, a Domain Cutover, and the Media Stack Comes Home
The portfolio redesign shipped to n5hq.me after three full rebuilds — then the bigger job: pulling the whole media automation stack off the rented seedbox and onto the home server, with the 22TB of storage staying put and the file moves still happening at the source.
-
Storage Fixes, Vault Cleanup, and the Reboot That Bit Back
Renamed the external drive mount, set up Samba shares, fixed the T7 Shield's UAS instability — then the reboot that fix required quietly took down Home Assistant and the website dev server. Recovery story included.
-
Network Fixes, Tailscale, and a NIC Upgrade
Diagnosed the Aqara doorbell and Canon printer issues via UniFi MCP, got Tailscale running across all devices, installed Claude CLI on the MacBook, and swapped the server NIC to 2.5GbE.
-
Automating the Blog & Cleaning Up the Portfolio
Wired up GitHub Actions to auto-publish blog posts, stripped placeholder content, and cleaned up the portfolio tiles to show only what's real.
-
Building Momentum: Homelab Services + Website Launch
Deployed the monitoring stack (Prometheus, Grafana, Loki), made Immich publicly accessible, and completed the N5HQ website with portfolio and contact sections.
-
Home Assistant Goes Public
Got Home Assistant accessible remotely via Cloudflare Zero Trust tunnel — after about 1.5 hours of chasing a silent 502.