Mobile app for video sharing, can comment, like, share videos **User Experience requirements:** 1. Video upload + text 2. View feed: 1. View videos of people you follow 2. Advanced: Video recommendations in feed 3. Video interactions: Like, comment videos, follow users **Performance requirements: Talk about these throughout the interview** 1. Availability - highly available system, many users using at a time - 99.999% 1. Tradeoffs - budget for our compute resources 2. Latency - Since it's mobile device, we can cache content in the app 3. Scale - 1M active users per day (DAU) 4. Consistency? - feed need not be consistent, need not have latest photos of follower accounts 5. Reliability - high. No uploads/data should be lost 6. Single point of failure / Fault tolerance - when some part of system fails, core system should still run (need to define core vs non-core parts based on business needs), leads to reduced downtime 7. Fault isolation - should be easy to identify fault Estimates: video is 5MB on average, 2 uploads / day = 10MB/day/user Metadata: 1KB/day/user 1. Talk about users and how they will use the system 2. What key user actions/experiences we want to enable 3. What data we will need to send/receive 4. How we will enable data transfer - through APIs Estimate table sizes for storage requirements Explain APIs needed Explain upload video use case