Journal
Writing, when there is
something worth writing.
Notes from the studio on engineering, AI automation, and the boring half of software craft. Slow cadence on purpose.
The eval harness you’ll wish you wrote first.
An LLM workflow without an eval suite is a prototype. Here is the smallest one we ship in production — a Postgres table, a CI job, a dashboard — and why it usually catches regressions before any human notices.
Why we still write boring SQL by hand.
ORM-bashing is its own internet sport. Here is the actual workflow we use in production — drizzle for the boring 80%, hand-written queries with explain plans for the 20% that matters.
The discovery sprint, in 700 words.
What we actually do during a two-week discovery, what we deliver at the end, and why we don’t skip it even on “simple” builds.
Migration tranches: how we move legacy without a freeze.
A strangler-fig migration is a thousand small cuts, all reversible. Here is the playbook we use, with the bits that go wrong called out by name.
Provider-agnostic LLM gateways.
If you read your model name from a config file, you can switch providers without redeploying. If you read it from your code, you have a refactor coming. We explain why we do the former.
Why we stay small.
A short note on hiring philosophy. Our cap is twelve. Past that, we lose the thing we’re selling. Here is the math, and the awkward conversations it has cost us.
Want it as soon as it ships?
One email per post. No newsletter, no marketing. We write infrequently and try to make every post worth your time.