Notification System

Deliver push, SMS, and email notifications reliably with user preferences and rate caps.

Medium40 minQueuesFan-outRetries

A notification system delivers messages to users through push, SMS, and email on behalf of many internal services. The hard parts are reliability through flaky third-party providers, respecting user preferences and rate caps, and handling huge bursts like a marketing campaign to 50M users.

Clarify requirements

Functional

  • Internal services send notifications to a user (or a segment) with a template and data.
  • Channels: mobile push (APNs/FCM), SMS, email, in-app.
  • User preferences: opt-out per channel and category; quiet hours; locale.
  • Priorities: transactional (OTP, payment receipt) versus marketing.
  • Scheduling (send at time T) and deduplication.
  • Track status: sent, delivered, opened, failed.

Non-functional

  • 100M users; 500M notifications/day; marketing bursts of 50M in an hour.
  • Transactional notifications delivered within seconds; marketing within the hour.
  • At-least-once delivery with deduplication so users rarely see duplicates.
  • Highly available ingestion; provider outages should not lose notifications.

Try it first

Set a timer, sketch your own design on paper, then compare it with the reference walkthrough.

40:00

Complete & continue

Defend it out loud

The AI interviewer will probe your design for Notification System and score it.

Mock interview