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

