How a media playback app is structured: player, session, controller and UI
Company: Twitch
Role: Product Manager
Category: Software Engineering Fundamentals
Difficulty: medium
Interview Round: Other
In a technical round for a product manager role, you are asked to give an overview of the architecture of a media app, meaning an app that plays audio or video. Describe its main components, what each one is responsible for, and how they work together when a user plays, pauses or seeks.
```hint Separate playback from control
Keep the part that fetches, decodes and renders media apart from the part that knows the current playback state. Then list every place besides the app's own screen that can start or pause playback.
```
### Clarifying Questions
- Should the overview cover only the app on the device, or also the backend that stores, encodes and delivers the media?
- Is it an audio app that keeps playing in the background and is controlled from the lock screen, headphones or a car, or a video app whose playback is tied to the visible screen?
- Is a specific platform intended, such as Android, iOS or the web, or should the answer be platform-neutral?
- Will the app play live streams, on-demand recordings, or both?
### What a Strong Answer Covers
- The main client components and the responsibility of each one.
- How commands flow toward the player and how state flows back to every screen and system control.
- Platform behaviors a media app must handle: audio focus, interruptions, headphones disconnecting, background playback and media notifications.
- How media reaches the player (streaming formats, adaptive bitrate, content delivery networks) at the depth a product manager needs, and the product metrics this drives.
- At least one design trade-off, such as buffer size against delay for live streams.
### Follow-up Questions
- A viewer is watching with Bluetooth headphones and they disconnect. Walk through what each component should do.
- Which playback quality metrics would you track as a product manager, and which part of the system influences each one?
- How does the architecture change between live streams and on-demand videos, and what product trade-offs follow?
Overview: A technical question for product managers asking for an overview of how a media app that plays audio or video is put together. It tests whether you can name the main client components and their responsibilities, explain how playback commands and state move between them and system controls, and connect the design to how streamed content reaches the device.