System Design AI
All designs

Classic designProduct & backendintermediate

4. Design a Notification System

Deliver email, push and SMS with preferences, retries and honest delivery status.

The brief

Design a notification service for transactional and optional messages across email, push and SMS. Follow a request from acceptance to a visible delivery status, respecting user preferences. Explain retries, duplicate provider callbacks and how an urgent message avoids waiting behind a large campaign.

  • Accept 10 million notification requests/day, with peaks of 10,000 requests/second.
  • Each request can target several channels; providers can throttle, time out or send duplicate callbacks.
  • Users can opt out of optional messages, and transactional security alerts have higher priority.

Constraints

Urgent dispatch delay≤ 30 seconds
Declare p95 time from durable acceptance to the first provider attempt under normal provider operation.
Preference enforcement
Define when preferences are checked and how queued optional messages honor a later opt-out.
Delivery semantics
Separate accepted, attempted, provider-acknowledged and delivered states without promising exactly-once delivery.

What to cover

  1. 01

    Request and status contract

    Define identity, recipient, channel, template version and observable states.

  2. 02

    Delivery pipeline

    Show preference checks, durable queues, provider adapters and priority handling.

  3. 03

    Retry and deduplication

    Trace a timed-out send followed by a late callback and a client retry.

  4. 04

    Capacity and operations

    Size peak acceptance and worker demand; explain provider quotas, dead letters and sensitive-data retention.

Worked designs

Explore the architecture and decisions, then build on an example with Coach.

Review rubric

AI feedback uses these criteria. Scores are practice feedback.

Message lifecycle

Statuses and duplicate handling reflect external-provider limits.

30points

Recipient controls

Preferences and channel rules hold through queued work.

25points

Delivery capacity

Priorities, provider quotas and backlog recovery are credible.

25points

Recovery and visibility

Retries, failed work and status reconciliation are observable.

20points

Discussion

Share an approach, ask a question, or tag @Coach.

Share your interview experience

Published under your alias as a community report. Leave out interviewer names and confidential material.

Loading discussion…