Filed under

AI

Writing 6 posts

Designing a logging system for an AI service

Building a standardised logging system for an AI assistant service: making consistent structured logging the path of least resistance, and thinking carefully about what an AI service should and shouldn't persist.

Engineering · 2 min read

From merged pull requests to a performance review

Merged pull requests already record what you did. Turning them into a work log with an LLM is easy; the hard part is the defensive rules that stop it corrupting the vault.

Engineering · 13 min read

Three quiet bugs hiding in a cross-service feature

Shipping a feature across four services meant coordinating an AI backend, a fare search service, and two frontend components. Along the way: a silent configuration bug, a duplicate event contract, and an HTML injection path.

Engineering · 3 min read

Shipping a conversational search flow across services

Cross-service work: shipping an end-to-end conversational flight search flow, instrumenting an MCP server with privacy-aware observability, improving AI coding assistant context injection, and cleaning up inconsistent naming across the codebase.

Engineering · 3 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

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