Skip to content
playdsa
Preferences

Make yourself comfortable.

Saved on this browser. Your device’s reduced-motion preference is always respected.

Theme
Advanced settings

Notification Switchyard

Learn
Play
Prove
Problem context and objectives
Mission briefing

Lead systems engineer · Notification Switchyard

Design a service that sends email, push, and SMS notifications after product events while respecting preferences and provider failures.

The design must survive events 50K/s and channels 3. Every box must earn its place by satisfying a requirement or containing a failure.

How you win

  1. 1Trace one user action from request to durable outcome
  2. 2Connect every component to a stated requirement
  3. 3Explain the losing tradeoff, not only the chosen technology

Rules and pressure

  • events: 50K/s
  • channels: 3
  • User preferences
  • Retry isolation
Lesson 1 of 3

Live architecture trace

Notification Switchyard: request to outcome

1/5
⬡Product servicesservice⇥Event streamqueueWKPreference routerworker⇥Channel queuesqueueWKChannel sendersworker◇Providersedge
LIVE EVENTevent

Product services sends “event” to Event stream. A durable event boundary decouples the product transaction from slow, failure-prone channel delivery.

events = 50K/s

Design a service that sends email, push, and SMS notifications after product events while respecting preferences and provider failures. Follow one real user action through the complete architecture; a component is useful only when you can explain the request, state, or failure it handles.

Help shape PlayDSA

Something confusing, broken, or missing? Leave a quick note without leaving your lesson.

Please leave out passwords, payment details and other private information.

Page included: /

Sign in to save feedback here, or send it with your email app. Your draft stays here while you sign in.

Open email instead