🔔Notification System
0 nodes · 0 edgesHint 1 — locked
Hint 2 — locked
Hint 3 — locked
🔔
Notification System
● Intermediate25–35 min
Problem
Build a notification service that sends alerts across multiple channels: push notifications (iOS/Android), email, and SMS. Producers (other services) publish notification requests; the system delivers them reliably, handles failures with retries, and respects user preferences (do-not-disturb, channel opt-outs).
Functional Requirements
- Accept notification requests from internal services via an API
- Fan out to the correct channel(s) per user (push, email, SMS)
- Respect user notification preferences and opt-outs
- Retry failed deliveries with exponential backoff
- Track delivery status (sent, delivered, failed)
Non-Functional
- 1M notifications/min peak throughput
- < 5 s p99 delivery latency (from request to delivery)
- At-least-once delivery guarantee
- 99.9% delivery rate for push; 99.5% for email/SMS
Prerequisites
Message queuesFan-outThird-party integrations
🔔
Design your Notification System
Drag components from the Brief panel → switch to Components tab
Press enter or space to select a node. You can then use the arrow keys to move the node around. Press delete to remove it and escape to cancel.
Press enter or space to select an edge. You can then press delete to remove it or escape to cancel.
UML
15
Needs Work
Click a dimension to see what's missing. Score updates as you design.
Speed
RPS
Hit Play to start simulation00:00