Search⌘ K
AI Features

Design of Instagram

Explore the foundational architecture of Instagram, starting with the high-level design. Define the necessary REST APIs for user actions like posting and following. Learn how to establish a robust storage schema and justify the database choice based on relational data needs.

High-level design

The system must support uploading, viewing, and searching media. Additionally, users can follow one another. This requires a robust storage layer to persist media and a retrieval mechanism to fetch data on demand.

The high-level design of Instagram
The high-level design of Instagram

API design

We will implement REST APIs for the following features:

  • Post photos and videos

  • Follow and unfollow users

  • Like or dislike posts

  • Search photos and videos

  • Generate a news feed

All calls require a userID to identify the requester. We will focus on unique parameters for each endpoint below.

Post photos or videos

...