Design an OTT (Over-The-Top) Aggregator

Hard45 min
1 / 30
System design answer

Design an OTT (Over-The-Top) Aggregator

Hard45 min30 sections
understanding•10 min read

Problem Statement: The Universal Layer Above Fragmented Streaming

Frames the OTT aggregator as an integration and identity-resolution platform, not another streaming backend.

Problem statement

Design an OTT (over-the-top) aggregator: a meta-service where one user account connects many streaming subscriptions (Netflix, Prime Video, Disney+, Hulu, Max, and long-tail services), sees one unified catalog, searches across all of them, keeps one watchlist, resumes titles where any provider left off, and optionally pays for several subscriptions through a single bill. The product is a router of attention and entitlements, not a video CDN.

The streaming market fragmented on purpose. Each service owns its catalog, its identifiers, its player, its billing relationship, and its viewing history. Netflix reported roughly 300 million paid memberships at the end of 2024, its final published figure before it stopped reporting subscriber counts; Disney, Amazon, Warner Bros. Discovery and others each hold tens to hundreds of millions more. No provider wants to hand that relationship to a competitor, which is exactly why the aggregator problem is hard: you must build truth about content, availability, and user state out of feeds that are partial, inconsistent, and sometimes actively withheld.

Why this problem is distinctive

A single-provider design (design Netflix) is dominated by encoding, CDN, and recommendation. An aggregator is dominated by five different problems:

  1. Entity resolution. The same film arrives from five catalogs with five IDs, three spellings, and two cut versions. The platform must maintain one canonical graph of works, seasons, and episodes and map every provider asset onto it. Deterministic joins through shared external IDs (IMDb, TMDb, EIDR) cover the easy majority; fuzzy matching plus human review handles the rest.
  1. Entitlement truth. Can this user actually play this title right now? Availability varies by region, plan, licensing window, and churn (titles leave catalogs monthly). Wrong entitlements produce the two worst failures in this domain: a deep link that dead-ends at a paywall, or a UI that hides content the user already pays for.
  1. Watch-progress capture. Netflix exposes no public progress API. Progress must come from provider partnerships where they exist, from device-level capture on platforms the aggregator controls, or from user attestation, and conflicting events must merge deterministically.
  1. Deep-link fragility. Playback always hands off to the provider app. Every provider has its own URL schemes, universal links, tvOS/Android intents, and app-store review cycles. A provider app update can break resumption overnight.
  1. Consent and compliance. Viewing history is regulated personal data. In the United States the Video Privacy Protection Act (1988, modernized by amendment in 2024) requires affirmative consent before disclosing video viewing records; GDPR treats it as personal data with full subject-rights obligations. Every data flow in this design is downstream of that constraint.

The four architectural planes

Keep these planes separate throughout the interview:

  • Metadata plane: canonical graph, provider mappings, availability matrix, artwork. Read-heavy, versioned, eventually consistent, CDN-cacheable.
  • Identity and entitlement plane: user accounts, provider links, OAuth token vault, subscription states. Strong consistency, encrypted at rest, audit-logged.
  • Engagement plane: watchlists, progress, continue-watching, recommendations. High-write, per-user consistency, conflict resolution.
  • Integration plane: provider adapters, ingest pipelines, deep-link registry, health and contract monitoring. The plane that fails most often and must fail gracefully.

Public operating baseline versus design assumptions

Public evidence shows the category is real. JustWatch describes itself as a streaming search engine used by more than 20 million people across 50-plus countries. Roku, which acquired aggregator Reelgood in April 2024, reported roughly 85 million active accounts and about 30 billion quarterly streaming hours in late 2024. Amazon launched Prime Video Channels in 2015 to aggregate third-party subscriptions into one bill and one player. Apple's TV app has unified provider sign-on and a cross-service Up Next queue since 2016. These are cited context, not our requirements.

For capacity planning this answer assumes a mature aggregator with 10 million registered users, 2.5 million DAU, 30 integrated providers, and 15 regions. Every uncited number is an explicitly stated assumption.

Key Highlights

  • •An aggregator is an integration and entitlement-resolution platform, not another video CDN.
  • •The five hard problems: entity resolution, entitlement truth, progress capture, deep-link fragility, consent compliance.
  • •Four planes: metadata, identity/entitlements, engagement, integration — each with its own consistency model.
  • •Playback always hands off to the provider app; the aggregator never streams licensed video in this design.
  • •Public figures (Netflix ~300M memberships, Roku ~85M accounts) are context; all scale numbers here are stated assumptions.
Lead With the Deep-Link Boundary
State in the first two minutes that playback always hands off to the provider app and the aggregator never streams licensed video. This instantly separates aggregation design from a Netflix-style CDN design and avoids the licensing trap.
Do Not Design a Sixth Streaming Service
Embedding third-party playback without content licenses turns the aggregator into an unlicensed distributor. Catalog, search, entitlements, and routing are the product; playback stays with the rights holder.

Section Rescue Kit

Buzzwords to use:

Canonical Entity GraphEntitlement Truth

Safe statements:

  • "I will separate content truth, entitlement truth, and user state, because each has a different owner, freshness, and consistency model."
  • "Before choosing any storage, let me define where the deep-link boundary sits and what we are allowed to touch on each side."
Design an OTT (Over-The-Top) Aggregator - System Design | WinJob | WinJob