This document specifies the architecture for a notification system that sends push notifications, SMS, and email to more than one million users. The system is designed for high reliability, controlled retries, provider failover, no duplicate user-visible sends, no missed sends, and graceful degradation when one or more providers fail.
The system supports transactional notifications such as OTPs, password resets, payment events, delivery alerts, account warnings, and campaign or lifecycle notifications such as announcements, reminders, and product updates.