Push Notification System
Preview mode. Log in to write architecture notes, save your answer, and get feedback.
Push Notification System
Design a scalable notification system that supports multiple channels. Functional Requirements: - Send notifications via push (iOS/Android), SMS, and email - Support instant, scheduled, and batched notifications - Users can set notification preferences (opt-in/out per channel) - Template-based notification content - Notification history and read/unread tracking Non-Functional Requirements: - At-least-once delivery guarantee - Handle millions of notifications per day - Low latency for real-time notifications (< 5 seconds) - Graceful degradation when downstream providers are slow Scale: - 10M users - 100M notifications per day across all channels
Examples
How would you implement notification aggregation (e.g., '3 people liked your post' instead of 3 separate notifications)?
Approach hint
Think about this as an event-driven system - the caller shouldn't wait for the notification to actually be delivered.
Common mistake
Skipping assumptions, edge cases, or trade-offs can make an otherwise good answer feel incomplete.