Skip to content

Blog

ls ~/blog/

# AI-first engineering, technical leadership, and building things that ship

Read23 Aug 2026· 3 min read

Clean URLs on the LAN, HTTPS from Anywhere, No Open Ports

Giving every service a proper name with Pi-hole and Caddy, remote access over Tailscale with real certificates, and the reverse proxy bug my own tests kept telling me was fine.

Raspberry PiSelf-Hosted
Read16 Aug 2026· 4 min read

Home Assistant on the Pi: Alerts, Not Automations

Installing Home Assistant properly, connecting Hive, and the design decision that shapes everything: the house tells me things, it does not do things.

Raspberry PiSmart HomeSelf-Hosted
Read9 Aug 2026· 4 min read

One Kettle, Three Clients: Home Assistant, Open Source, and a Beta

The dead AppKettle is now a Home Assistant device, a public repo with a Docker image, and a phone app in closed beta. The interesting part was teaching three clients to share one TCP connection.

Raspberry PiSmart HomeTypeScriptMCP
Read4 Aug 2026· 3 min read

An MCP Server for Every Hill in Britain and Ireland

My third MCP server ships its entire dataset inside the npm package. 21,576 hills, no API key, no network calls at runtime.

MCPClaude CodeTypeScriptFitness
Read2 Aug 2026· 6 min read

Setting Up a Raspberry Pi 5: OS, NVMe Boot, Docker, and Pi-hole

How I got the Pi 5 running headless from an NVMe SSD, locked it down properly, and hit the Docker firewall problem that nobody warns you about.

Raspberry PiSelf-Hosted
Read26 Jul 2026· 5 min read

I am Building a Raspberry Pi Smart Home Hub

A single box that tracks my training, watches my finances, automates my home, and finally gives my kettle a permanent home. Here is what I am building and why.

Raspberry PiSmart HomeSelf-Hosted
Read15 May 2026· 4 min read

I Built a Mobile App For My Kettle

After decoding the AppKettle protocol and building an MCP server, the obvious next step was a proper mobile app. Here is how I built it in React Native and what I learned along the way.

TypeScriptSmart Home
Read13 May 2026· 4 min read

The Missing File in Your AI Coding Setup

Your AI can read your code but it cannot read your design system. DESIGN.md is a plain-text spec that gives AI agents the exact visual rules your project follows.

Claude CodeAI
Read6 May 2026· 3 min read

Reverse-Engineering a Dead Smart Kettle into an MCP Server

My AppKettle smart kettle stopped being smart when the company shut down. So I reverse-engineered their Android app, decoded the protocol, and wrote an MCP server for it.

MCPClaude CodeSmart HomeTypeScript
Read29 Apr 2026· 3 min read

A parkrun MCP Server That Needs Zero Configuration

I built an MCP server for finding parkrun events from Claude. No API keys, no OAuth, no setup. Just install and ask.

MCPClaude CodeFitnessTypeScript

18 posts