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
Defend it out loud
The AI interviewer will probe your design for Notification System and score it.