ML System Design: Thumbnail Selection for a Streaming Catalog
ML System Design: Thumbnail Selection for a Streaming Catalog
You are tasked with designing a machine learning system for a video streaming service to select the most engaging thumbnail for each title (movie or show). The catalog contains approximately 10^5 titles, with each title having 5-30 candidate thumbnails (automatically sampled frames and editorially produced variants). The system needs to choose a thumbnail for each user to maximize engagement, defined as the user clicking the title and starting to watch. The thumbnail selection must occur at serve time within a single-digit to low tens of milliseconds latency budget.
The system should handle tens of millions of users, where the home/browse screen renders many titles per impression. New titles and candidate thumbnails are added continuously, posing a cold-start challenge. The primary engagement signal is click and subsequent viewing behavior; raw clicks alone may not fully capture genuine interest.
Design the end-to-end system, covering:
- Problem framing
- Data and labels
- Model architecture
- Offline and online evaluation
- Scalable serving infrastructure
- Production monitoring
Discuss whether and how to personalize thumbnail choices per user versus selecting a single globally best thumbnail per title.
AI interview prep
Core dilemma
Balancing the need for highly personalized, context-aware thumbnail selection against strict low-latency serving requirements and the challenge of learning from implicit, often noisy, user feedback.
3 tradeoffs and 3 stress tests locked
Interview prep
Unlock the interviewer X-Ray rubric, tradeoff matrix, stress tests, clarifying questions, and key concepts.
ML System Design: Thumbnail Selection for a Streaming Catalog
ML System Design: Thumbnail Selection for a Streaming Catalog
You are tasked with designing a machine learning system for a video streaming service to select the most engaging thumbnail for each title (movie or show). The catalog contains approximately 10^5 titles, with each title having 5-30 candidate thumbnails (automatically sampled frames and editorially produced variants). The system needs to choose a thumbnail for each user to maximize engagement, defined as the user clicking the title and starting to watch. The thumbnail selection must occur at serve time within a single-digit to low tens of milliseconds latency budget.
The system should handle tens of millions of users, where the home/browse screen renders many titles per impression. New titles and candidate thumbnails are added continuously, posing a cold-start challenge. The primary engagement signal is click and subsequent viewing behavior; raw clicks alone may not fully capture genuine interest.
Design the end-to-end system, covering:
- Problem framing
- Data and labels
- Model architecture
- Offline and online evaluation
- Scalable serving infrastructure
- Production monitoring
Discuss whether and how to personalize thumbnail choices per user versus selecting a single globally best thumbnail per title.