Technical guides
How to design specific systems well
Practical design guidance for particular problems: the mechanisms, the failure modes and the decisions that matter.
AI Engineering
15 Sept 2026 · 5 min read
Designing reliable AI agents
An agent is a model in a loop with tools, and every property that makes it useful also makes it hard to trust. Reliability comes from the harness around the model: bounded loops, idempotent tools, managed context and evaluation of whole trajectories.
Architecture
8 Sept 2026 · 5 min read
Building scalable event-driven architectures
Event-driven systems scale well and fail in specific, predictable ways: lost events from dual writes, duplicates, reordering and schema drift. This guide covers the mechanisms that address each one and the cases where a synchronous call is the better design.
Security
18 Aug 2026 · 5 min read
Designing secure APIs
Most serious API breaches come from authorisation logic, not broken cryptography. This guide covers object-level authorisation, token design, input validation, rate limiting and service-to-service trust, and where each control belongs.
Backend
28 Jul 2026 · 5 min read
Redis as a distributed caching layer
A cache trades consistency for latency, and most caching incidents come from forgetting that trade. This guide covers the patterns, expiry strategy, failure modes and topology choices we consider before putting Redis in front of a database.
Backend
21 Jul 2026 · 5 min read
Kafka and event-driven architecture
Kafka is a partitioned, replicated log, and most of its guarantees and most of its surprises follow from that one fact. This guide covers ordering, consumer groups, delivery semantics, the outbox pattern, schemas and retention, and when a simpler queue is the better choice.
FinTech
14 Jul 2026 · 5 min read
Designing resilient payment systems
A payment system is defined by how it behaves when a request times out and nobody knows whether the money moved. This guide covers idempotency, ledgers, state machines, unknown outcomes, webhooks, reconciliation and reducing card-data scope.
Operations
9 Jun 2026 · 5 min read
Observability for distributed systems
A practical guide to metrics, logs and traces: what each one answers, how cardinality drives cost, and how SLOs turn telemetry into alerts worth waking up for.
Architecture
2 Jun 2026 · 5 min read
Designing systems for millions of requests
High request volume is rarely the hard part. The hard parts are state, the write path and what the system does when demand exceeds capacity.
SaaS
26 May 2026 · 5 min read
Building production-grade SaaS infrastructure
What separates a multi-tenant product from an application with a tenant_id column: isolation, per-tenant limits, a control plane, safe migrations and the ability to restore one customer.
