Labs โ€บ chat app0 / 13

Step 1 of 13 ยท Intro

Design a chat app

Messages delivered in order, with ticks, to phones that are often offline.

How it works

  • โ€บSend: the message reaches a gateway holding the connection.
  • โ€บDeliver: the recipient's gateway pushes it, or it waits in storage.

What you'll build

  1. The API and the data behind it
  2. A gateway and a database for 500 requests a second
  3. A queue, workers and a cache for 15,000, then 50,000
  4. A rate limiter that stops a spam flood
  5. A design that survives a cold cache, a lost gateway, a lost worker and a lost primary