Member-only story
Netflix on Android: A System Design Deep Dive
Not a Medium Member? “Read For Free”
The Real Problem Isn’t “How Do I Build an App”
Say “I’d use Clean Architecture with Hilt and Compose” and you’ve already skipped the interesting part. Frameworks don’t solve system problems — constraints do. The real challenge is delivering smooth, low-latency video to hundreds of millions of users across thousands of device configurations, network conditions, and regulatory environments, without the illusion ever cracking.
What looks like one fluid app is actually an edge client orchestrating eight semi-independent domains: Authentication, Catalog Discovery, Playback, Offline Downloads, Search, Profiles, Telemetry, and DRM. Everything else — interceptors, Room databases, dependency graphs — is plumbing in service of those domains.
The mental model to carry through everything below:
Functional Requirement → Constraint → Non-Functional Requirement → Architectural Decision
Three examples of that chain in action:









