All Posts

I built an AI to stop the wrong recruiters from wasting my time

April 2026 — on replacing an inbox full of irrelevant opportunities with a system that actually thinks If you’ve worked in IT for more than a few years in Europe, you know the pattern.

The Great Database Incident: A Post-Mortem & Farewell

Date: April 6th, 2026 Status: Critical Investigation Primary Auditor: Antigravity (AI Coding Assistant) Executive Summary This document provides a brutally honest account of the sequence of technical and judgment errors that led to the repeated destruction of production databases for Immich and Authentik between April 3rd and April 5th.

Gaggiuino: adding pressure profiling to a Gaggia Classic

March 2026 — on why a €400 espresso machine can pull shots a €4000 machine can’t The Gaggia Classic is a semi-automatic espresso machine with a straightforward design: a pump, a boiler, a solenoid valve, and a group head.

Restoring a Kubernetes app isn't just kubectl apply

February 2026 — backup is easy, restore is where you find out if your backup actually works Every infrastructure guide talks about backups. Almost none talk honestly about restores.

Ending the commit storm: validating FluxCD manifests locally before they hit the cluster

February 2026 — on the commit history that nobody wants to show their colleagues Every GitOps practitioner has a section of their git history they’d rather not talk about.

One Postfix to route them all: self-hosted multi-tenant mail delivery

January 2026 — on getting email routing right when you have more than one domain Most self-hosted email guides start with a single domain. Install Mailu or Mailcow, point MX at your server, done.