Design a Notification Service

Last updated: June 17, 2026

Quick Overview

Design a scalable notification system supporting push, email, and SMS. Cover event ingestion, user preference management, template rendering, delivery tracking, and rate limiting to prevent notification fatigue.

Google
System Design
Software Engineer
Google
June 17, 2026
Software Engineer
System Design Round
System Design
Medium

392

0

325 solved


Design a scalable notification system supporting push, email, and SMS. Cover event ingestion, user preference management, template rendering, delivery tracking, and rate limiting to prevent notification fatigue.

How to Approach This
  1. Start by clarifying functional and non-functional requirements with the interviewer.
  2. Estimate the scale: QPS, storage, bandwidth. This drives your design decisions.
  3. Draw a high-level architecture first, then deep dive into 1-2 critical components.
  4. Discuss trade-offs explicitly (e.g., consistency vs availability, SQL vs NoSQL).
  5. Address failure scenarios, monitoring, and how the system handles 10x traffic spikes.
Sharpen Your Skills on Codemia

Practice similar problems with our interactive workspace, get AI feedback, and track your progress.

Practice System Design Problems
Sample Answer
Requirements
  • Functional Requirements:
    • Support for push notifications, emails, and SMS.
    • User preference management for notification channels (opt-in/opt-out).
    • Template rendering for customizable m...
Capacity Estimation
  • Assumptions:
    • Assume 1 billion active users with an average of 3 notifications per user per day.
    • Total notifications per day = 1 billion * 3 = 3 billion notifications.
    • Peak load estim...

Submit Your Answer
Markdown supported

Related Questions