Typing indicators and read receipts

DesignMedium30 minMeta and Apple style

Your task

Design the typing-indicator and 'delivered/read' receipt subsystem for a large-scale messaging app (200M users) with group chats up to a few thousand members. Requirements: a typing bubble appears within ~500ms and disappears reliably even if the sender's app is force-killed, receipts must scale in big groups without melting the network, and none of this ephemeral signaling should bloat your durable message store. Walk through the design.

It covers

  • Typing indicators
  • Ephemeral state
  • Debounce