WhatsApp is a real-time messaging app: people exchange 1:1 and group messages, see when a contact is online or last seen, and get sent / delivered / read receipts — all end-to-end encrypted.
What makes it a systems problem isn't the message payload; it's the shape of the traffic:
- Hundreds of millions of persistent connections. Delivery is server-initiated — the server must push a message the instant it arrives, so every user holds a long-lived socket, not a request/response API.
- Reliable delivery regardless of who's online. A message sent to an offline friend must arrive the moment they reconnect, in order, and appear exactly once to the user.
The whole design is about holding tens of millions of sockets per region, knowing which server holds each recipient, and store-and-forwarding every message until it's acknowledged. This is the canonical real-time fan-out at connection scale interview.