Limited Time Offer:Up to 0% off Hello Interview Premium
Up to 0% off Hello Interview Premium 🎉
Hello Interview
Learn System Design
Introduction
How to Prepare
Delivery Framework
Core Concepts
Key Technologies
Common Patterns
Question Breakdowns
Networking Essentials
API Design
Data Modeling
Caching
Sharding
Consistent Hashing
CAP Theorem
Database Indexing
Numbers to Know
Bitly
Dropbox
Local Delivery Service
Ticketmaster
FB News Feed
Tinder
LeetCode
WhatsApp
Rate Limiter
YouTube
FB Live Comments
YouTube Top K
Uber
Web Crawler
Ad Click Aggregator
FB Post Search
Yelp
Instagram
Strava
Distributed Cache
Online Auction
Job Scheduler
News Aggregator
Price Tracking Service
Notification System
Robinhood
Google Docs
Payment System
Metrics Monitoring
Online Chess
ChatGPT
Real-time Updates
Dealing with Contention
Multi-step Processes
Scaling Reads
Scaling Writes
Handling Large Blobs
Managing Long Running Tasks
Redis
Elasticsearch
Kafka
API Gateway
Cassandra
DynamoDB
PostgreSQL
Flink
ZooKeeper
Proximity Search
Time Series Databases
Data Structures for Big Data
Vector Databases
Change Data Capture
All Posts
Shopify Inventory Reservations
Discord Message Storage
Slack Job Queue
Figma Multiplayer
Spotify Data Lake
Vote For New Content
Pricing
Sign in / Sign up
Search
⌘K
Pricing
Tutor
Get Premium
Common Problems

Instagram

ByEvan King·Published ·
medium

Premium video

Sign in & purchase Premium to watch the full video.

Sign in

Understanding the Problem

📸 What is Instagram? Instagram is a social media platform primarily focused on visual content, allowing users to share photos and videos with their followers.
Designing Instagram is one of the most common system design interview questions asked not just at Meta, but across all FAANG and FAANG-adjacent companies. It has a lot of similarities with our breakdowns of FB News Feed and Dropbox, but given the popularity and demand, we decided this warranted its own breakdown.

Functional Requirements

Core Requirements
  1. Users should be able to create posts featuring photos, videos, and a simple caption.
  2. Users should be able to follow other users.
  3. Users should be able to see a chronological feed of posts from the users they follow.
Below the line (out of scope):
  • Users should be able to like and comment on posts.
  • Users should be able to search for users, hashtags, or locations.
  • Users should be able to create and view stories (ephemeral content).
  • Users should be able to go live (real-time video streaming).
FIRST QUESTION

What are the non-functional requirements for this system?

Try it yourself first

We recommend you to practice the question yourself first to get instant personalized feedback as you go.

Non-Functional Requirements

If you're someone who often struggles to come up with your non-functional requirements, take a look at this list of common non-functional requirements that should be considered. Just remember, most systems are all these things (fault tolerant, scalable, etc) but your goal is to identify the unique characteristics that make this system challenging or unique.
Before defining your non-functional requirements in an interview, it's wise to inquire about the scale of the system as this will have a meaningful impact on your design. In this case, we'll be looking at a system with 500M DAU with 100M posts per day.

The Set Up

Defining the Core Entities

API or System Interface

High-Level Design

1) Users should be able to create posts featuring photos, videos, and a simple caption

2) Users should be able to follow other users

3) Users should be able to see a chronological feed of posts from the users they follow

Potential Deep Dives

1) The system should deliver feed content with low latency (< 500ms )

2) The system should render photos and videos instantly, supporting photos up to 8mb and videos up to 4GB

3) The system should be scalable to support 500M DAU

Final Design

What is Expected at Each Level?

Mid-level

Senior

Staff+

Purchase Premium to Keep Reading

Unlock this article and so much more with Hello Interview Premium

Buy Premium

Currently up to 20% off

Hello Interview Premium

System Design Guided Practice
Exclusive content
Recent interview questions
Learn More
Reading Progress

On This Page

Understanding the Problem

Functional Requirements

Non-Functional Requirements

The Set Up

Defining the Core Entities

API or System Interface

High-Level Design

1) Users should be able to create posts featuring photos, videos, and a simple caption

2) Users should be able to follow other users

3) Users should be able to see a chronological feed of posts from the users they follow

Potential Deep Dives

1) The system should deliver feed content with low latency (< 500ms )

2) The system should render photos and videos instantly, supporting photos up to 8mb and videos up to 4GB

3) The system should be scalable to support 500M DAU

Final Design

What is Expected at Each Level?

Mid-level

Senior

Staff+

Questions
Meta SWE Interview QuestionsAmazon SWE Interview QuestionsGoogle SWE Interview QuestionsOpenAI SWE Interview QuestionsAnthropic SWE Interview QuestionsEngineering Manager (EM) Interview Questions
Learn
Learn System DesignLearn DSALearn BehavioralLearn ML System DesignLearn Low Level DesignGuided Practice
Links
FAQPricingGift PremiumHello Interview Premium
Legal
Terms and ConditionsPrivacy PolicySecurity
Contact
About UsProduct Support

7511 Greenwood Ave North Unit #4238 Seattle WA 98103

© 2026 Optick Labs Inc. All rights reserved.