Design an Event-Driven Notification Hub

Hard60 min
1 / 30
understanding3 min read

Problem framing: a hub decoupling producers from channels

What an event notification hub is and why decoupling defines it

Problem framing: a hub decoupling producers from channels

An event-driven notification hub is the central system that takes events published by many internal services and turns them into notifications delivered to users across many channels — web push, mobile push, SMS, email, and in-app. The fact that defines the architecture is decoupling: producers (the order service, the payment service, the social service) publish events to topics without knowing who is subscribed or how they want to be reached, and the hub resolves each event into the right notifications on the right channels for the right users. Without the hub, every producer would have to know every user's preferences and integrate every channel — an N-times-M mess. The hub collapses that to N producers publishing and M channels delivering, with one routing brain between.

So the spine is: ingest events via pub/sub, resolve each event against topic subscriptions and per-user preferences into concrete delivery intents, and deliver them across channels with at-least-once reliability and idempotent deduplication, honoring ordering, priority, batching, and quiet hours. State the framing up front: this is a pub/sub routing-and-delivery platform whose job is to decouple producers from channels and deliver reliably, and the hard parts are fan-out, preference resolution, and exactly-once-feeling delivery over unreliable channels.

Key Highlights

  • Producers publish events to topics; the hub resolves who/how/where
  • Decoupling collapses an N-producers-times-M-channels mess into one routing brain
  • Resolve events against subscriptions + preferences into delivery intents
  • Deliver at-least-once with idempotent dedup across many channels
Interview move
Open by naming decoupling: producers publish to topics, the hub routes to users/channels. That frames the hub as the brain between N producers and M channels.
Avoid
Letting each producer integrate channels and know preferences directly. That is the N-times-M coupling the hub exists to eliminate.

Section Rescue Kit

Buzzwords to use:

Pub/sub decouplingFan-out

Safe statements:

  • "This is a pub/sub routing-and-delivery platform that decouples producers from channels."
  • "The hard parts are fan-out, preference resolution, and exactly-once-feeling delivery over unreliable channels."
Design an Event-Driven Notification Hub - System Design | WinJob | WinJob