Building real-time streaming systems at scale (millions of events/day).
I write about AI, System design, Java, and distributed systems with a bias toward what breaks, what scales, and what actually matters in production.
At Booking.com, I work on infrastructure that processes millions of events daily. Previously built streaming solutions with Apache Flink for real-time safety incident detection. Before that, worked at Lowe's and Paytm Payments Bank on distributed systems.
I write about what I learn on AI, System design patterns, Java internals, Spring Boot, and distributed systems.
I started writing because most resources felt either too academic or too shallow. I wanted something that helps you reason about real systems, not just memorize patterns.
A few practical deep dives people found useful:
- Spring Boot 3.x: What Actually Changed (and What Matters)
- Java Multithreading: Classic Problems and Solutions
- Merkle Trees: Implementation in Java and Real-World Applications
- Implementing Scheduled Emails with Quartz Scheduler in Spring Boot
- Securing Application Secrets with HashiCorp Vault and Spring Boot
β‘οΈ View all posts
I'm creating structured courses on topics I spent quite some time learning the hard way so you don't have to piece them together from scattered blogs, outdated Stack Overflow threads, and partial docs:
|
How to think about scale, read architecture diagrams, and do back-of-envelope calculations |
Understanding transformers, attention mechanisms, and how language models work |
Free and text-based. New lessons published regularly.
Tools I work with regularly in production:
- LLMs in production beyond demos (evaluation, cost, failure modes)
- How code review changes when AI writes 90% of the code and reducing AI slop
- Teaching system design without turning it into pattern memorization


