Chidi Onyema
Senior .NET engineer.
I build distributed systems that survive production.
London-based contractor. UK government services, security platforms at 10M+ events/day, fintech and healthtech rebuilds. Currently open for engagements — building or stabilising distributed .NET at production scale.
A live cluster, in your browser.
This site runs on a real .NET 9 cluster — Postgres, RabbitMQ, Redis, Vault, five microservices coordinating via events. Two proof pages: the architecture canvas explains how it's built, the chaos page lets you break it and watch it recover. Every demo proxies to production code with a View source link to the file that handled it.
Long-form write-ups.
The thinking behind specific patterns — the saga state machine, transactional outbox, Vault dynamic credentials — for reviewers who want depth beyond the live demos.
Saga vs Two-Phase Commit
When you can have ACID across services, when you cannot, and why the answer in 2026 is almost always sagas.
The Transactional Outbox
Why dual-write is the most expensive bug in event-driven systems, and the small amount of plumbing that fixes it forever.
Zero-Downtime Secret Rotation
How we rotate database credentials and API keys in a live distributed system without dropping a single request.
A bit of context.
I'm a senior .NET engineer working under contract from London. Most of my work is the unglamorous middle of distributed systems: event-driven choreography that survives broker outages, idempotency that holds up under retry storms, optimistic concurrency that keeps two writers from clobbering each other, dynamic credentials that rotate without dropping connections.
The cluster on this page is a representative example. It runs the same patterns I've shipped to UK government services, security platforms handling tens of millions of events a day, and fintech / healthtech backends — small enough to read end-to-end, real enough to break.
If you're building something that needs to stay up under load or you've inherited something that doesn't, I'd be happy to talk.
Specific deployment names are sanitised; references available on request.