MEDIUM

Design a Notification System

Design a multi-channel notification system supporting push notifications, email, SMS, and in-app messages at scale.

Estimated Time: 45 minutes
#Push Notifications#Message Queue#Rate Limiting#User Preferences
Solution Overview

Use message queue for reliable delivery. Implement user preference management. Rate limit to prevent spam.

Hints to Get Started
1

How to handle delivery failures?

2

User notification preferences

3

Batching strategies

Channels
  • Push (APNs, FCM)
  • Email (SES, SendGrid)
  • SMS (Twilio)
  • In-app
  • Webhook
Components
  • Notification Service
  • Template Engine
  • Delivery Workers
  • Analytics