Design a multi-channel notification system

Quick Overview

This question evaluates system design and distributed systems competencies—scalable architecture, API and schema design, idempotency and de-duplication, rate limiting, multi-region reliability, monitoring, and compliance for a multi-channel notification platform—and is commonly asked to assess the ability to balance latency, throughput, and operational trade-offs in production-grade services. Category: System Design; domain: distributed systems, reliability engineering, data modeling, and operational observability; level of abstraction: practical application with significant conceptual design considerations around delivery semantics, scalability targets, and regulatory constraints.

Design a multi-channel notification system

Company: Airbnb

Role: Software Engineer

Category: System Design

Difficulty: hard

Interview Round: Technical Screen

Design a multi-channel notification system (email, SMS, push, in-app). Define APIs for producing and consuming events, user preference storage (per-channel, per-category, quiet hours), templating/localization, idempotency and de-duplication keys, scheduling and retries with backoff, rate limiting and per-recipient throttling, and delivery status tracking. Specify components (producer, dispatcher, queue/stream, worker pools, provider adapters, metadata store), data models, and exactly-once vs at-least-once trade-offs. Address scale targets (e.g., 10M/day, p99 < 2s), multi-region reliability, failure handling, monitoring/alerting, and compliance (unsubscribe, GDPR/CCPA data retention). Provide an evolution plan for experimentation (A/B), prioritization, and cost controls.

Quick Answer: This question evaluates system design and distributed systems competencies—scalable architecture, API and schema design, idempotency and de-duplication, rate limiting, multi-region reliability, monitoring, and compliance for a multi-channel notification platform—and is commonly asked to assess the ability to balance latency, throughput, and operational trade-offs in production-grade services. Category: System Design; domain: distributed systems, reliability engineering, data modeling, and operational observability; level of abstraction: practical application with significant conceptual design considerations around delivery semantics, scalability targets, and regulatory constraints.

|Home/System Design/Airbnb
Airbnb logo
Airbnb
Sep 6, 2025, 12:00 AM
hardSoftware EngineerTechnical ScreenSystem Design
10
0

System Design: Multi-Channel Notifications (Email, SMS, Push, In‑App)

Context

Design a notification platform that reliably delivers messages across multiple channels (email, SMS, mobile push, in‑app) while honoring user preferences and regulatory constraints. The system should scale to 10M notifications/day with p99 end-to-end processing latency under 2 seconds (to provider accept), support multi‑region reliability, and provide strong operational observability.

Requirements

  1. APIs and Contracts
    • Event production and consumption APIs (idempotent) for transactional and batch use cases.
    • User preference APIs: per‑channel, per‑category, quiet hours (with timezone), daily caps.
    • Templating and localization: variables, safe rendering, locale fallback.
    • Idempotency and de‑duplication keys with TTLs.
    • Scheduling (future send), retries with exponential backoff and jitter.
    • Rate limiting: global, per‑channel, per‑recipient throttling.
    • Delivery status tracking and unified state model.
  2. Architecture & Components
    • Producer, dispatcher/orchestrator, queues/streams, worker pools, provider adapters, metadata stores, rate limiter, scheduler, status tracker, analytics sink.
  3. Data Models
    • Notification request, user preferences, templates/variants, experiments, rate limits, delivery attempts/events, suppression lists.
  4. Delivery Semantics
    • Exactly‑once vs at‑least‑once trade‑offs and where to enforce idempotency/dedupe.
  5. Reliability & Scale
    • Targets: 10M/day, p99 < 2s to provider, burst handling, multi‑region (active/active or active/passive), failure handling, circuit breaking, DLQs.
  6. Monitoring & Compliance
    • Metrics, logs, traces, alerting; unsubscribe handling; GDPR/CCPA/consent/data‑retention.
  7. Evolution Plan
    • Experimentation (A/B), prioritization policies, cost controls and provider routing.

Provide a design with concrete APIs (REST or gRPC), schemas, component interactions, and operational playbooks. Call out assumptions where needed.

Submit Your Answer to Earn 20XP

Sign in to leave a comment

Loading comments...