Interview Questions/System Design/Push Notification System

Push Notification System

Preview mode. Log in to write architecture notes, save your answer, and get feedback.

Medium

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

Example 1

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.

architecture-notes.md