Hi, I'm zak.

Writing about distributed systems, building teams, and how software actually gets built.

Senior distributed systems engineer at Ably. Writing about distributed systems, realtime infrastructure, and how software actually gets built. Sometimes about phones and other things.

Recent writing

everything →
Apr 23, 2026

Advanced features for AI chatbots on SSE

Agents used to be a thing you talked to synchronously. Now they’re a thing that runs in the background while you work. When you make that change, the …

9 min
Apr 20, 2026

All your agents are going async

Agents used to be a thing you talked to synchronously. Now they’re a thing that runs in the background while you work. When you make that change, the …

8 min
Feb 28, 2026

You are the bottleneck

The agent can produce code faster than you can review it. Your job isn't to write anymore. It's to judge, direct, and decide what's next.

4 min
Feb 24, 2026

If code is cheap, intent is the currency

Generating code is cheap now, so the intent behind it matters more than ever. The commit message is where that intent lives.

6 min
Feb 11, 2026

A chatbot's worst enemy is page refresh

Models have got dramatically better. The infrastructure transporting their responses hasn't. Refreshing the page still kills your in-flight chat.

7 min
Feb 9, 2026

Only use agents for tasks you already know how to do

If you don't understand the task, don't hand it to an agent. You still have to review the output, and you can't review what you don't understand.

3 min
Nov 27, 2025

SSE sucks for transporting LLM tokens

A dropped SSE connection means re-running the entire model inference from scratch. When inference is your most expensive operation, that's a terrible failure …

5 min
Nov 15, 2025

So you want to build AI agent group chat?

Building OpenAI-style group chat on HTTP post-and-wait is a mess. Pub/Sub channels handle the fan-out, history, and reconnection without you having to stitch it …

4 min
Feb 6, 2025

Patterns for building realtime features

Realtime features make apps feel modern, collaborative, and up-to-date. The features predominantly require sharing changes triggered by one user to other users, …

6 min
May 3, 2024

Phone call asymmetry

You get a phone call, but you’re away from your phone or you can’t answer it right at that moment. You call the number back and hear an automated …

2 min