Functional Requirement:

  1. Provide video recommendations based on user history, watch list, likes and trending videos
  2. provide latest uploaded videos
  3. show personalised content based on location, language and interests of a user.
  4. provide filtering based on user selected preference or text based filtering

NFR:

Ms of users and videos

Latency: low latency in delivering recommendations Availability: High availability Consistency: can take a hit, if users sees videos uploaded with some delays, its fine. Design should be extensible for Live Streaming

Key Components:

  1. Recommendation engine
  2. Machine learning