Design: Video Recommendation System
Design covers user interaction, recommendation engine, data storage, and API delivery. Does not cover video storage, streaming infrastructure, or content creation.
Functional Requirements
FR1: Provide personalized video recommendations to users based on their watch history and preferences
FR2: Support at least 10 million active users with concurrent access
FR3: Update recommendations in near real-time as users interact with videos
FR4: Allow users to rate videos and provide feedback to improve recommendations
FR5: Support trending and popular video recommendations globally and regionally
FR6: Ensure recommendations are relevant and diverse to keep users engaged
Non-Functional Requirements
NFR1: System should handle 10 million active users with 1 million concurrent requests
NFR2: API response latency for recommendations should be under 200ms (p99)
NFR3: System availability should be at least 99.9% uptime
NFR4: Data freshness for recommendations should be within 5 minutes
NFR5: Scalable to handle growth in users and video content
