Distributed Systems
Product Thinking (1): Architecture Design — From Monolith to Autonomous Agents
How my architectural thinking evolved from a single Next.js app to distributed autonomous agent systems — and the patterns that emerged along the way.
System Design (8): Case Studies — URL Shortener, Chat System, News Feed
Three complete system design walkthroughs — a URL shortener, a real-time chat system, and a news feed — each following the full process from requirements and estimation through high-level design, deep dives, and scaling …
System Design (6): Microservices vs Monoliths — The Honest Tradeoff
An honest assessment of monoliths vs microservices — covering the distributed systems tax, service boundary design with DDD, inter-service communication patterns, circuit breakers, service mesh, API gateways, and a …
Databases (7): Distributed Transactions — 2PC, Saga, and Why Consensus Is Hard
How distributed databases coordinate transactions across machines — two-phase commit, Raft consensus, the Saga pattern, and practical patterns like outbox and CDC.
Databases (6): Replication and Partitioning — Scaling Beyond One Machine
How databases replicate data for availability and partition data for scale — covering leader-follower, multi-leader, leaderless, sharding strategies, and consistent hashing.




