Design Game Streaming platform.
MediumLow-Level Design: Game Streaming Platform
Problem Statement 📝
Design the core backend system for a Game Streaming Platform (similar to Twitch). The system must connect Streamers (content creators) with Users (viewers) in real-time.
The core responsibilities include managing the lifecycle of a Stream (Created $\rightarrow$ Live $\rightarrow$ Ended) using a robust state machine, handling real-time Chat with role-based features (Subscriber/Moderator badges), tracking Stream Analytics (peak/average viewers), and managing User Subscriptions to specific streamers. The system must be designed to handle high concurrency, especially for viewer counts and chat message distribution.
Requirements
Interview Simulation
Experience a realistic interview conversation. The interviewer will ask clarifying questions,and you'll reveal your understanding of the requirements.
Let's start by understanding the scope. What are the core functionalities this system needs to provide?
💡 Interview Tip
Identify the Actors (Who uses the system?) and their Use Cases (What are they trying to achieve?). Start with the 'Happy Path' scenarios.