38. Design a Chat App (WhatsApp)
1
The interview prompt2
38.1 What do you ask first?3
38.2 How big is this, really?4
38.3 What are the doors?5
38.4 What do we store?6
38.5 What does the whole system look like?7
38.6 How does the WebSocket gateway work?8
38.7 How do message IDs and ordering work?9
38.8 How do delivery and read ticks work?10
38.9 How does offline delivery work?11
38.10 How does group chat work?12
38.11 How does media work?13
38.12 What would you say in the last five minutes?14
Score yourself15
Variations to practise16
Sources17
Code lab38. Design a Chat App (WhatsApp)
Sources
3 min read+10 XP
Source notes
- WhatsApp group size: raised to 512 and then to 1,024 participants in 2022, as reported at the time. Checked 2026-10-08.
- End-to-end encryption with the Signal Protocol, and sender keys for groups: WhatsApp Encryption Overview (security whitepaper). Checked 2026-10-08.
- Gateway sizing and reconnect behaviour: see Chapter 21.
- All user, message and connection numbers are interview assumptions agreed in Step 1, not figures for any real app. Arithmetic computed 2026-10-08.
- Routing, client-ID de-duplication, per-chat sequence numbers, multi-device ticks, cursor sync and group cost: tested 2026-10-08 (
code/ch38_chat.py, all checks pass).