Writing

The Blog

Practical articles on the decisions behind building production software — architecture, DevOps, and the patterns that hold up after 50+ client projects.

Diagram: one shared speech-synthesis service on a server feeding four separate sites — two video pipelines, an education platform and a news generator.
Engineering July 28, 2026

Self-Hosting Text-to-Speech: What 400 MB of Kokoro Replaced

Replacing cloud text-to-speech with a self-hosted Kokoro-82M model across four sites: a ~400 MB CPU-only footprint, why the obvious install pulls 3 GB of unusable CUDA libraries, and the two places we deliberately kept the cloud engine.

7 min read Read article →
Your Stock Photos Are Lying: Auditing 1,708 Food Images With a Vision LLM
AI Engineering July 21, 2026

Your Stock Photos Are Lying: Auditing 1,708 Food Images With a Vision LLM

My food encyclopedia had 1,708 stock images and the osso buco page showed a London power station. One vision model, three DB columns and a resumable artisan command later, every image is audited and visitors can upload photos that are verified and published in seconds with zero human moderation.

7 min read Read article →
How I Refactor With AI Tools Without Breaking Production: Playwright + Branch Comparison
AI Engineering July 8, 2026

How I Refactor With AI Tools Without Breaking Production: Playwright + Branch Comparison

Pin current behavior with golden-master tests, generate a Playwright smoke net over every route, let the AI refactor one concern per branch, then interrogate both branches with the identical suite before anything merges.

7 min read Read article →
[agicad]
DevOps April 28, 2026

Monitoring and Observability for Production Web Apps

Shipping code is half the job. Knowing what that code does once users are hitting it — and getting paged before they file a support ticket — is the other half. A practical guide to the three pillars of observability and how to wire them into a real production system.

12 min read Read article →

New articles, straight to your inbox

Occasional writing on architecture, DevOps, and the decisions behind shipping production software. No spam, unsubscribe any time.