Problem context and objectives
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
- 1Trace one user action from request to durable outcome
- 2Connect every component to a stated requirement
- 3Explain the losing tradeoff, not only the chosen technology
Rules and pressure
- events: 50K/s
- channels: 3
- User preferences
- Retry isolation
Live architecture trace
Notification Switchyard: request to outcome
Product services sends “event” to Event stream. A durable event boundary decouples the product transaction from slow, failure-prone channel delivery.
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.