teacher
Sign in

Design a Notification System

A full case study of a push, SMS and email notification platform, covering queues, retries, deduplication, priorities and user preferences.

30 min5 interactive

Requirements

A notification system sends messages to users on several channels: mobile push, SMS, email and in-app.

Functional:

  • Other services call it ("order shipped", "OTP", "weekly digest").
  • Channels: push, SMS, email.
  • Users can opt out per channel and per category.
  • Templates, scheduling, and a record of what was sent.

Non-functional:

  • OTPs (one-time passwords) arrive in seconds; marketing can wait minutes.
  • Never send the same notification twice (annoying) and rarely lose an important one (costly).
  • Survive provider outages.
  • Scale to bursts: a campaign can be millions of messages at once.
1 of 11