PracHub
QuestionsPremiumLearningGuidesCheatsheetNEWCoaches
|Home/System Design/Snapchat

Design an Instagram Stories feature

Last updated: Mar 29, 2026

Quick Overview

This question evaluates backend system design competencies including distributed systems, scalability, data modeling, API design, media storage/transcoding, CDN delivery, privacy controls, caching, and consistency for seen-state and counters.

  • medium
  • Snapchat
  • System Design
  • Software Engineer

Design an Instagram Stories feature

Company: Snapchat

Role: Software Engineer

Category: System Design

Difficulty: medium

Interview Round: Technical Screen

Design a backend system for an **Instagram Stories–like** feature. Users can post short-lived stories (photos/videos) that are visible to followers and automatically expire after 24 hours. ### Core requirements - **Post story**: user uploads media and publishes a story. - **View stories**: followers can see a tray/list of accounts with active stories and play story segments. - **Expiration**: stories disappear after 24 hours (should not be viewable). - **Privacy**: stories can be shared with either (a) all followers or (b) a restricted audience (e.g., “Close Friends”). - **Seen state**: track whether a viewer has seen a given story segment (for UI ordering and analytics). ### Non-functional requirements - Very low latency for story playback (global audience). - High availability. - Large scale (tens/hundreds of millions of users). ### Deliverables - Propose APIs, data model, storage choices, and major services. - Explain how you handle upload/transcoding/CDN delivery. - Explain feed/tray generation (fanout strategies), caching, and expiration. - Discuss consistency trade-offs for “seen” state and counters. - Outline monitoring/metrics and failure modes.

Quick Answer: This question evaluates backend system design competencies including distributed systems, scalability, data modeling, API design, media storage/transcoding, CDN delivery, privacy controls, caching, and consistency for seen-state and counters.

Related Interview Questions

  • Design a News Aggregator - Snapchat (hard)
  • Design a device owner lookup service - Snapchat (nan)
  • Design real-time ad impression and spend tracking - Snapchat (nan)
  • Design short URL service with click counting - Snapchat (hard)
  • Design a search-to-ads ranking pipeline - Snapchat (medium)
Snapchat logo
Snapchat
Feb 8, 2026, 12:00 AM
Software Engineer
Technical Screen
System Design
4
0
Loading...

Design a backend system for an Instagram Stories–like feature.

Users can post short-lived stories (photos/videos) that are visible to followers and automatically expire after 24 hours.

Core requirements

  • Post story : user uploads media and publishes a story.
  • View stories : followers can see a tray/list of accounts with active stories and play story segments.
  • Expiration : stories disappear after 24 hours (should not be viewable).
  • Privacy : stories can be shared with either (a) all followers or (b) a restricted audience (e.g., “Close Friends”).
  • Seen state : track whether a viewer has seen a given story segment (for UI ordering and analytics).

Non-functional requirements

  • Very low latency for story playback (global audience).
  • High availability.
  • Large scale (tens/hundreds of millions of users).

Deliverables

  • Propose APIs, data model, storage choices, and major services.
  • Explain how you handle upload/transcoding/CDN delivery.
  • Explain feed/tray generation (fanout strategies), caching, and expiration.
  • Discuss consistency trade-offs for “seen” state and counters.
  • Outline monitoring/metrics and failure modes.

Solution

Show

Comments (0)

Sign in to leave a comment

Loading comments...

Browse More Questions

More System Design•More Snapchat•More Software Engineer•Snapchat Software Engineer•Snapchat System Design•Software Engineer System Design
PracHub

Master your tech interviews with 7,500+ real questions from top companies.

Product

  • Questions
  • Learning Tracks
  • Interview Guides
  • Resources
  • Premium
  • For Universities
  • Student Access

Browse

  • By Company
  • By Role
  • By Category
  • Topic Hubs
  • SQL Questions
  • Compare Platforms
  • Discord Community

Support

  • support@prachub.com
  • (916) 541-4762

Legal

  • Privacy Policy
  • Terms of Service
  • About Us

© 2026 PracHub. All rights reserved.