Writing
- The bottleneck moved to verification
Writing code is a fifth of the job, and it's the fifth AI just optimised. The constraint moves to the other end, telling whether what you got is right, and that end scales worst exactly as you produce more.
- Directing a game I couldn't have written
I don't write frontend. Tube Race is a live, polished React game. What I actually did was decide what "correct" meant and check whether it held, which turns out to be most of the job.
- The agent wants one big table
LLM agents reason badly about joins. The industry denormalised for the engine for a decade; now it's denormalising for the model. Why one big table is winning again, and where ClickHouse fits.
- A year of AI coding at team scale
I used to think editor integration was the load-bearing affordance of AI coding tools. A year of trying to make a team operate consistently changed my mind.
- Evals, after putting them off
I'd read the posts, nodded at the rubrics, never quite got round to building one. Last week I did, and the things it surfaced weren't the things I expected to surface.
- I deleted my embedding pipeline
I built a hybrid FTS5 plus LanceDB MCP server with an Ollama embedding pipeline for my personal knowledge vault. After two months I deleted all of it. This is the long version.
- An evening with OAC, POST, and SigV4
I tried to put a CloudFront-fronted Lambda Function URL with OAC and AWS_IAM in front of an SSE-streaming agent. 100% of POSTs returned 403. Here's the evening.
- LangGraph and Pydantic AI, six weeks apart
Two agent systems, six weeks apart, opposite frameworks. Same engineer, opposite call. The framing that made both right.
- The cost shape of an LLM-heavy serverless pipeline
My weekly FPL enrichment pipeline costs roughly £1.50 to £3.00 a week. Most of that is the Claude API. What it taught me about cost-engineering this kind of workload.