System Design Problem

Design a Real-Time Chat Application (WhatsApp / Slack)

Commonly Asked By:MetaSlackMicrosoftDiscord

  • 1:1 messaging: Send and receive text messages between two users in real-time
  • Group messaging: Support group chats with up to 256 members (WhatsApp) or thousands (Slack channels)
  • Online/Offline presence: Show whether a user is online, offline, or last seen
  • Read receipts: Show sent ✓, delivered ✓✓, and read (blue ✓✓) status
  • Media sharing: Send images, videos, documents, voice messages
  • Message history: Persist messages and allow history retrieval with pagination
  • Push notifications: Notify offline users of new messages
  • End-to-end encryption (for WhatsApp-style): Messages encrypted on device, server cannot read content
Loading...