Engineering notes, written slowly.

I build applications, write about AI, APIs and system design - the silent bugs, the wiring, and the boring parts that quietly hold everything up.

Recent writing 2026

The notification that wouldn't leave

A booking interface was showing a queue warning banner after it should have disappeared. The fix was small; the pattern it points to is worth thinking about.

Engineering · 2 min read

Designing an API endpoint for an AI consumer

Adding a conversational search endpoint to a fare search service raised an interesting question: what does a response shape optimised for an AI assistant look like, versus one optimised for UI code?

Engineering · 2 min read

Keeping orchestration in your code, not your prompt

A reflection on where coordination logic should live when building AI assistants into production systems — and why application-layer orchestration beats prompt-driven coordination.

Engineering · 3 min read

The quiet work of removing feature flags

On removing feature flags that had outlived their purpose. Not glamorous, but this kind of cleanup is what keeps a codebase navigable over the long run.

Engineering · 2 min read

What adding an AI layer taught me about type ownership

Adding an AI layer to existing services surfaced something I'd been quietly ignoring: schema drift. Here's what fixing it actually looked like.

Engineering · 3 min read