WhatsApp System Design

Functional Requirements

1 min read

Before designing any distributed system, define what the system must do.

Our messaging platform should support:

  • One-to-one conversations
  • Group chats
  • Media sharing
  • Message delivery
  • Read receipts
  • Typing indicators
  • Online status
  • Edit message
  • Delete for everyone
  • Multi-device synchronization
  • End-to-end encryption