2026-10-27 · Architecture
Write to the database first, then send the event: that works until the process crashes right in between. So in a messenger I moved the side effects into an outbox.
2026-10-27 · AI in production
A vehicle dealer has the images from its 360° studio processed by an external service. The question was whether we could do it ourselves at least as well. Segmentation was solved quickly — the difficulty lay elsewhere.
2026-10-26 · Architecture
Five new features for a messenger that teams install on their own server with one command. Each could have dragged in a service of its own. In the end, none was added.
2026-10-25 · AI in production
Three bugs in three days across two AI systems — and the same answer each time: the language model is for language and for extracting facts. Whatever can be decided deterministically is decided by code.
2026-10-23 · AI in production
One day of manual testing, nine different model failures. Every fix could break the neighbouring case, and only manual testing could tell. So I built regression tests.
2026-10-21 · Product & pricing
On a marketplace, providers enter links to their own documents. For one listing none of them opened any more: the website had moved. The page still looked fine.
2026-10-20 · AI in production
In one day an AI agent designed, wrote and shipped a change across two repositories. The question was not whether the model can write code, but how its mistakes get caught before production.
2026-10-20 · AI in production
LLMOps checklists list the feature store as a standard component. For a multi-tenant GenAI platform I checked which problem it solves — and how to tell whether you have it.
2026-10-20 · Leading projects and teams
A client asked for an estimate for two steps, with 14 concrete questions. Before counting days I measured — and found a problem that changed the plan.
2026-10-19 · Architecture
A booking platform was about to grow from one country to several. Then “3 pm” has to mean 3 pm wherever the party takes place, everywhere. The review found an error that was invisible in a single country.
2026-10-17 · AI in production
Our own AI pipeline for vehicle photos worked as a prototype. Next question: on which hardware, if the data must stay in the EU and the rest of the application runs on Cloudflare.
2026-10-16 · Architecture
An SEO audit without Search Console access: only what a search engine sees from outside, and the code. The biggest error was a single line.
2026-10-16 · Operations & infrastructure
For my first calls I wanted a booking page on my own infrastructure, with calendar sync and Stripe. The obvious candidate had just stopped being open source.
2026-10-16 · Law & compliance for software
I wanted to sell managed applications online, to businesses and to private individuals. Between “add Stripe” and “ready to sell” there were taxes, a cancellation button and a lot of small print.
2026-10-16 · Product & pricing
For my managed applications the idea was tempting: unlimited resources, and anyone who overdoes it is asked to leave. I decided against it.
2026-10-07 · Operations & infrastructure
Installing an application takes an afternoon. Keeping it running for years is a different job — here is what it is made of.
2026-10-07 · Operations & infrastructure
Bills rarely grow through one big decision. They grow through many small ones that nobody takes back — here are the usual places.