All articles

Most teams I talk to already have a schema registry e.g Confluent, Apicurio, Glue, Azure, GitHub. A registry is a good idea. It stops you publishing garbage at runtime. It versions the contract. Producers and consumers can agree on a shape. Then I ask who consumes OrderPlaced. Silence. Or a Slack thread. Or someone who left six months ago. The registry will tell you the schema is valid. It will not tell you the architecture. It does not know the domain. It does not know the team. It does not know that payments still reads a field you were about to delete. It does not know the ADR that said we would never put PII on that event. It is a lock on the door. It is not a map of the building. I used to think this was a documentation problem. Put the schema in Confluence. Draw a diagram in Miro. Maybe a spreadsheet of owners. That lasts until the next deploy. The registry stays current because the pipeline forces it. The wiki does not. What we actually need is a catalog of the architecture, with the schemas attached. Domains, services, messages, owners, decisions, versions. The registry stays the source of the contract. The catalog is where that contract sits in the system you actually run. Humans can browse it. Agents can query it. Nobody has to remember. If you already have a registry, keep it. The missing piece is everything around the schema: who produces, who consumes, what breaks, and who to talk to. That is the catalog. I have been building EventCatalog around that idea. The registry integrations exist because the schemas already live somewhere. The point is not to replace the registry. It is to stop pretending the registry is the architecture.

Aug 27, 20262 likes

Why structured architecture docs are the most undervalued asset in engineering, and how AI is about to change that

Mar 30, 20264 likes

Most teams write specs and forget them. Here's how to turn them into a catalog your whole org can browse, search, and understand.

Mar 22, 20262 likes

Why context, not content, is the real challenge for modern documentation

Mar 19, 20263 likes

I Installed OpenClaw 48 Hours Ago… and It’s starting to feel like a teammate

Feb 17, 2026

I Installed OpenClaw 48 Hours Ago… and It’s starting to feel like a teammate

Feb 17, 2026

My thoughts and lessons on selling to developers; and why a focus on value, advocacy and internal champions can help.

Nov 6, 2025

My thoughts and lessons on selling to developers; and why a focus on value, advocacy and internal champions can help.

Nov 6, 2025

So you finished an EventStorming session, you have 100s of post-it notes. What's next? In this blog post I explore an experiment of turning EventStorming into EventCatalog using MCP.

Oct 27, 2025

So you finished an EventStorming session, you have 100s of post-it notes. What's next? In this blog post I explore an experiment of turning EventStorming into EventCatalog using MCP.

Oct 27, 2025

The hidden trap in event-driven architecture that few talk about

Oct 2, 2025

The hidden trap in event-driven architecture that few talk about

Oct 2, 2025

My thoughts on the pitfalls of diagram tools today, the value lost, and why we can do better.

Sep 16, 2025

My thoughts on the pitfalls of diagram tools today, the value lost, and why we can do better.

Sep 16, 2025

The three most common pitfalls organizations fall into when building event-driven architectures.

Sep 13, 2025

The three most common pitfalls organizations fall into when building event-driven architectures.

Sep 13, 2025

Reflecting on event-driven architecture, it's problems and what needs to change.

Sep 11, 2025

Reflecting on event-driven architecture, it's problems and what needs to change.

Sep 11, 2025

Some lessons learnt turning my open source side project into a full time job.

May 16, 2025

Some lessons learnt turning my open source side project into a full time job.

May 16, 2025