Design a TikTok-like short-video product.
Core user stories
-
Users upload short videos (e.g., 10–60 seconds).
-
Users watch an infinite
For You
feed (personalized recommendations).
-
Users can like, comment, follow creators, share.
Requirements
Functional
-
Video upload, processing (transcode), storage, playback.
-
Feed generation: personalized ranked list of videos.
-
Engagement actions: like, comment, follow.
Non-functional
-
Low startup latency for playback; smooth scrolling.
-
High availability and horizontal scalability.
-
Reasonable consistency (define where strong vs eventual is needed).
-
Observability and abuse mitigation (spam, reuploads, bot likes).
Deliverables
-
High-level architecture and key services.
-
Data model / storage choices.
-
Feed + recommendation pipeline (online + offline).
-
Caching/CDN strategy.
-
Handling hot videos/creators and traffic spikes.
-
APIs (sketch) and key metrics to monitor.