Fifteen years building and scaling distributed systems, across the industry's move from bare-metal servers and monoliths to cloud-native, Kubernetes and GitOps. I take on the work teams postpone: technical debt, CI/CD built from nothing, and keeping things up.
Search / Data — Elasticsearch, MongoDB, Python, Kafka, Redis
Reference architecture. Client code is under NDA, so this page describes the design and the reasoning behind it rather than a specific deployment.
A search tier kept current by a change stream rather than a nightly job, so an edit becomes searchable in seconds. The document store holds the flexible shape, the search index holds what needs querying, and neither pretends to be the system of record.
Reindexing is the operation everyone forgets to design. Here it writes to a new index alias-side and swaps atomically when complete, which means schema changes and analyser changes are routine rather than an outage scheduled for a Sunday.