Architectures, trade-offs, and patterns behind the systems that run the internet. Start with the foundations — principles and patterns — then graduate to full architectures.
Five rules that keep code flexible: Single Responsibility, Open/Closed, Liskov, Interface Segregation, Dependency Inversion.
The three guardrails that stop over-engineering before it starts — Don't Repeat Yourself, Keep It Simple, You Aren't Gonna Need It.
One instance, shared by everyone. Useful for config and connection pools — dangerous everywhere else.
Hide which concrete class gets built. The caller asks for a Notifier; the factory decides Email vs SMS vs Push.
One simple API in front of a messy subsystem. The whole concept of an "API gateway" is the Facade pattern at scale.
Publishers fire events without knowing who listens. The pattern behind Kafka, EventBridge, and every reactive UI.
Swap the algorithm at runtime. Pick FIFO, LIFO, or priority queueing without rewriting the caller.
Stop calling a failing dependency before it takes you down with it. Closed → Open → Half-Open.
How a tap on Pay travels through gateways, fraud checks, and settlement in under a second.
Token bucket, leaky bucket, sliding window — the four classic algorithms behind every API quota.
Driver matching, geo-spatial sharding, and real-time location streams at city scale.