Thoughts on backend engineering, distributed systems databases, and my journey in tech.
Designing a Timeline API: The Simplicity of Fan-out-on-Read.
A breakdown of Twitter's fan-out architecture - and why optimizing for reads over writes was one of the most elegant tradeoffs in social media engineering.
Retries alone aren't enough. Learn how Dead Letter Queues isolate poison messages, preserve failures for debugging, and keep distributed systems reliable.
A payment succeeds, the customer gets charged, but the confirmation email never arrives - because your process crashed between two lines of code. Here's the pattern that closes that gap, and why every production system eventually needs it.
I wanted to understand how companies like Uber process millions of location updates every day. Instead of watching more tutorials, I decided to build a small event-driven backend from scratch using Apache Kafka, Socket.IO, and TypeScript.
The real story behind Hystrix, Netflix's circuit breaker library - why cascading failures kept taking down their platform, and the pattern they built to stop it.
What DDIA Chapter 1 taught me about partial failure - and why tracing tools like Zipkin and OpenTelemetry aren't over-engineering.
A deep dive into building a production-ready notification system with RabbitMQ, Redis, and proper observability.
My biggest takeaways from studying Designing Data-Intensive Applications by Martin Kleppmann.