NotifyStack is a distributed notification engine that simplifies global multi-channel delivery (Email, SMS, Push, In-App). Built for high-availability, it features automatic provider failover, real-time analytics, and a "Zero-Config" SDK. Scalable Notification System...
π Dashboard: https://notifystack.shop
π Production API: https://api.notifystack.shop
Most applications break when a single notification provider (like SendGrid or Twilio) experiences an outage. NotifyStack solves this with Infrastructure-as-a-Service that handles the complexity of delivery so you don't have to.
Our worker engine monitors provider health in real-time. If a primary provider yields a 5xx error or high latency, the Circuit Breaker opens, and traffic is instantly shifted to fallback providers (Mailgun/SMTP) without dropping your request.
Stop managing multiple API keys and endpoints. The official SDK defaults to our production-ready infrastructure out of the box. Just npm install @ayush0x44/notifystack.
Built on Redpanda (Kafka) and Redis, NotifyStack handles spike-heavy traffic by decoupling API ingestion from final delivery, ensuring your main application never slows down.
A premium React widget that provides your users with a real-time notification feed. It handles polling, unread counts, and "Mark as Read" logic natively.
- Backend: Node.js (Express), PostgreSQL (Neon.tech)
- Messaging: Redpanda Cloud (Production Kafka)
- Caching & Rate Limiting: Upstash Redis
- Frontend: React, Tailwind CSS, Framer Motion, Shadcn UI
- Infrastructure: Render (Web Services & Workers), Vercel (Frontend)
- Branding: Custom 3D Asset generation & Premium Design System
The system follows a high-availability distributed architecture where the API layer handles ingestion and the Worker layer handles reliable multi-channel delivery.
graph LR
Client[Client App / SDK] -- "POST /notifications" --> API(API Service)
API -- "Auth / Idempotency" --> Redis[(Redis)]
API -- "Audit Log / Source of Truth" --> DB[(PostgreSQL)]
API -- "Enqueue (Redpanda)" --> Kafka{{Kafka Bus}}
Kafka -- "Consume (N Replicas)" --> Worker(Worker Service)
Worker -- "Circuit Breaker / Health" --> Redis
Worker -- "Update Sent Status" --> DB
Worker -- "Email Route" --> SendGrid[SendGrid]
Worker -- "Fallback Route" --> Mailgun[Mailgun]
Worker -- "SMS Route" --> Twilio[Twilio]
Worker -- "Permanent Failure" --> DLQ{{Dead Letter Queue}}
npm install @ayush0x44/notifystackconst { NotifySDK } = require("@ayush0x44/notifystack");
const sdk = new NotifySDK("ntf_live_xxxx");
await sdk.track("USER_WELCOME", {
email: "ayush@example.com",
name: "Ayush"
});Issues and pull requests are welcome! See the ARCHITECTURE.md for internal details.
MIT Β© Ayush