← All Problems
MediumMessaging40 min

Design a Notification System

Design a scalable notification system that supports push notifications, SMS, and email across millions of users.

MetaAppleGoogleUber

Functional Requirements

  • Support multiple channels: push, SMS, email, in-app
  • Handle millions of notifications per day
  • Users can configure notification preferences
  • Support scheduled and triggered notifications
  • Provide delivery tracking and analytics

Steps (0/6)

Step 1: Clarify Requirements

Types: push (iOS/Android), SMS, email, in-app. Is it real-time or can it be slightly delayed? What scale (10M notifications/day)? Do we need templating? Rate limiting per user? Retry on failure?

Key Points

  • Multi-channel: push, SMS, email, in-app
  • Near real-time delivery, some delay acceptable
  • ~10M notifications/day → ~115/sec average, bursty
  • User preferences and opt-out must be respected
1 / 6