PracHub
QuestionsPremiumLearningGuidesCheatsheetNEWCoaches
|Home/System Design/Lyft

Design a scalable real-time chat system

Last updated: Mar 29, 2026

Quick Overview

This question evaluates skills in designing scalable real-time distributed systems, covering API design, message ordering and idempotency, fan-out strategies, storage tiers, indexing, sharding and replication, consistency vs.

  • hard
  • Lyft
  • System Design
  • Software Engineer

Design a scalable real-time chat system

Company: Lyft

Role: Software Engineer

Category: System Design

Difficulty: hard

Interview Round: Onsite

Design a scalable real-time chat system supporting 1:1 and group messaging. Cover: API design (send, receive, ack), message ordering and idempotency, read receipts and typing indicators, online presence, fan-out architecture (write vs read), storage (hot vs cold, media handling), indexing and data model, replication and sharding strategy, consistency vs availability trade-offs, offline delivery and retries via push notifications, rate limiting and spam/abuse controls, end-to-end encryption considerations, back-of-the-envelope capacity estimates for 100M DAU, monitoring, observability, and disaster recovery.

Quick Answer: This question evaluates skills in designing scalable real-time distributed systems, covering API design, message ordering and idempotency, fan-out strategies, storage tiers, indexing, sharding and replication, consistency vs.

Related Interview Questions

  • Design a Donation Platform - Lyft (hard)
  • Design a charity donation platform - Lyft (medium)
  • Design a distributed web crawler - Lyft (hard)
  • Design web crawler for 1000 devices - Lyft (hard)
  • Design a scalable news feed system - Lyft (hard)
Lyft logo
Lyft
Sep 6, 2025, 12:00 AM
Software Engineer
Onsite
System Design
6
0

System Design: Real-Time Chat (1:1 and Groups)

Context

Design a mobile-first, globally available real-time chat system that supports both 1:1 and group messaging at large scale (target: 100M daily active users). Assume multi-region deployment, clients are primarily mobile apps with intermittent connectivity, and the system must prioritize low latency and high availability.

Requirements

Cover the following areas explicitly:

  1. API design
    • Send, receive/sync, acknowledgments (acks)
    • Message ordering and idempotency semantics
  2. Features
    • Read receipts and typing indicators
    • Online presence
  3. Architecture
    • Fan-out strategy (write vs. read; hybrid if applicable)
    • Storage tiers (hot vs. cold) and media/attachments handling
    • Indexing and data model
    • Replication and sharding strategy
    • Consistency vs. availability trade-offs
  4. Delivery
    • Offline delivery and retries via push notifications
  5. Safety
    • Rate limiting and spam/abuse controls
    • End-to-end encryption considerations (1:1 and groups)
  6. Scale
    • Back-of-the-envelope capacity estimates for 100M DAU
  7. Operations
    • Monitoring, observability, and disaster recovery

Make reasonable assumptions where needed and call them out explicitly.

Solution

Show

Comments (0)

Sign in to leave a comment

Loading comments...

Browse More Questions

More System Design•More Lyft•More Software Engineer•Lyft Software Engineer•Lyft 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.