Practice: Design TikTok
Short-video platform inspired by TikTok: async transcoding into adaptive-bitrate renditions, CDN playback with prefetch, a two-stage For You recommender (retrieval, then ranking) and near-real-time learning from engagement, as described in ByteDance's Monolith paper (2022). A teaching design, not ByteDance's internal architecture.
Build this system yourself on the canvas below. Add components, connect them, and run traffic simulations to see where your design holds up and where it breaks.
Functional requirements
- Creators can upload short videos with captions, hashtags, music, and thumbnails.
- Users can watch videos with low-latency playback and scroll through a personalized For You feed.
- Users can like, comment, share, follow creators, and save/favorite videos.
- The platform should support creator profile pages and creator video lists.
- The system should support near-real-time feed personalization and cold-start recommendations.
- The platform should support content moderation, policy enforcement, and copyright/takedown workflows.
- The system should support creator analytics and trending/viral content detection.
- The platform should support ad insertion and live-commerce or promotional content hooks.
Non-functional requirements
- Video playback should start quickly on mobile networks with ABR and global edge delivery.
- Upload requests should return quickly while heavy processing runs asynchronously.
- The recommendation path should stay low-latency even when offline feature pipelines lag.
- The platform should survive viral spikes and hot objects without overwhelming origin systems.
- Moderation, copyright, and policy systems should be isolated so they don’t block the core watch path unnecessarily.
- The system should remain available during regional failures with clear RPO/RTO and safe rollout controls.