System Design
Messenger App
hardPremiumAsked at

+4
By Rotem Meidan ·
"Design a messenger app like WhatsApp."
Analyzing the Problem
WhatsApp is a messenger app: compose and send a message while offline, have it delivered exactly once when the phone reconnects, receive messages in real time rendered in the same order on every device, recover messages missed while backgrounded without refetching the whole conversation, see delivery and read state and when the other party is typing, and be notified of a new message within seconds even when the app is closed. You own the client up to the wire; the backend's internals are out of scope.