← Lessons

quiz vs the machine

Silver1100

System Design

Multi Channel Delivery

Routing a single notification to email SMS or push based on context and reach.

4 min read · intro · beat Silver to climb

One message many paths

A channel is a transport for reaching a user: email, SMS, push, in app, or even voice. The same logical notification often maps to different channels depending on urgency, cost, and what the user has set up.

Picking a channel

  • Push is cheap and fast but needs an installed app and a valid token.
  • SMS reaches almost any phone but costs money per message.
  • Email is rich and cheap but has weaker real time delivery.

A router decides the channel using user preferences, message priority, and channel availability.

Channel abstraction

Each channel is wrapped behind a common interface so the core logic does not care about provider details. Adding a new provider means writing one adapter.

This separation keeps the core simple while letting each channel evolve and swap providers independently.

Key idea

Multi channel delivery routes one notification to email SMS or push through a shared adapter interface chosen by context.

Check yourself

Answer to earn rating on the learn ladder.

1. Why wrap each channel behind a common interface?

2. Which channel is cheap and fast but needs an installed app?