Multi-channel notification orchestration

DesignMedium40 minDoorDash and Uber style

Your task

Design a multi-channel notification orchestration service. Internal services emit 'notify user U about event E'; the service decides channel (push, SMS, email, in-app), respects per-user preferences and quiet hours, deduplicates so a user isn't pinged 5 times for the same logical event from 5 services, batches digestible low-priority notifications, and honors rate limits/opt-outs. Scale: 50M users, 200K notify requests/sec at peak.

It covers

  • Multi channel
  • Deduplication
  • Preference routing