16. Instagram

Medium

Design a photo sharing app like Instagram

Functional Requirements
  • Users should be able to upload photos and view the photos they have uploaded.
  • Users should be able to follow other users.
  • Users can view feeds containing posts from the users they follow.
  • User stories automatically expiring at 24 hours.
  • Users should be able to like and comment the posts.
Nonfunctional Requirements
  • 99.9% Availability
  • Images should be served in lower qualities for poor internet connections
  • 1000 ms latency for images to start loading
Assumptions
  • All images are 1080x1350
  • Traffic is evenly distributed across geography and time of the day.
  • News Feed is limited to Top liked posts from the users that the user is following.
Estimated Usage
  • 500m daily active users
  • 1 our of every 50 users upload an image
  • The top 10% of accounts result in 95% of viewing traffic

Seen this question in a real interview before?

Not all editor features are supported on mobile