Zoom System Design (Coming Soon - Draft Copy)
Designing a system like Zoom is fundamentally about real-time media delivery at massive scale.
The core challenge is low-latency audio/video communication across millions of concurrent users.
Functional Requirements
Core Features
- One-to-one calls
- Group calls / conference calls
- Audio / video / screen sharing
- Creating a meeting
- Starting / ending a meeting (host or any participant)
- Joining / leaving a meeting (any participant)
- Call recording
- Fetching meeting details
Out of Scope (for this design)
- Chat (optional)
- Mute / unmute controls
- Inviting / managing participants
- Raising a hand
We intentionally exclude collaboration-layer features to focus on the real-time media architecture.
Non-Functional Requirements
-
Real-time experience
Conversations should feel natural โ no noticeable lag or delay. -
Always available
Calls should work reliably, even if some servers or regions fail. -
Minor packet loss is acceptable
Small glitches are okay; real-time delivery matters more than perfect accuracy. -
Secure by default
All calls must be encrypted and accessible only to authenticated users. -
Handles unstable networks
Users should reconnect automatically if their internet drops. -
Works across devices & bandwidths
Quality must adapt dynamically for mobile, desktop, slow WiFi, or high-speed broadband.