-
Notifications
You must be signed in to change notification settings - Fork 0
Home
ML-Powered Notification Delivery Service with Adaptive Channel Routing
NotifyEngine is an intelligent notification routing service that learns from user behavior to automatically choose the best delivery channel (email, SMS, push, or in‑app) for every message. Designed for developers and product teams sending high‑volume notifications, it replaces static routing rules with an XGBoost ML model that adapts per‑user in real time.
Unlike developer tools like Courier, Knock, or Novu that rely on fixed priority rules, and enterprise platforms like Braze or MoEngage that cost $50K+/year and aren't developer-first, NotifyEngine offers a simple API with per‑user ML routing that continuously improves with every notification sent.
Key outcomes: Higher engagement rates, lower SMS spending, circuit breaker during provider outages, and no manual routing logic to maintain.
![]() Zeeya Ramani Data Analyst / Developer |
![]() Salvatore Ardisi Technical Lead & Architect / Scrum Master |
![]() Rhythm Patel AI Engineer / Developer |
![]() Dhawalshree Mengane Data Analyst / Developer |
![]() Mohammed Nazir Yusif Security Engineer / Project Manager |
![]() Krish Dhorajiya AI Engineer / Tester |
┌───────────────────┐
│ React Dashboard │
│ (Vite + Tailwind)│
└────────┬──────────┘
│ HTTP + WebSocket
▼
┌──────────┐ POST notifications ┌──────────────────┐ ┌──────────────┐
│ Developer│ ──────────────────────────► │ API Server │────►│ PostgreSQL │
│ Client │ ◄── 202 Accepted │ Express + TS │ │ (Multi-tenant│
└──────────┘ └────────┬─────────┘ │ + RLS) │
│ Enqueue └──────────────┘
▼ ▲
┌─────────────────┐ │
│ Redis + BullMQ │ │
│ (Job Queue) │ │
└────────┬────────┘ │
│ Dequeue │
▼ │
┌────────────────┐ │
│ Worker │──────────────┘
│ (Delivery + │
│ Feature Ext.) │
└───┬────────┬───┘
│ │
┌──────────────┘ └──────────────────┐
▼ ▼
┌───────────────────┐ ┌─────────────────────┐
│ ML Service │ │ Delivery Channels │
│ FastAPI + XGBoost│ │ Email │
│ Epsilon-Greedy │ │ Push │
└───────────────────┘ │ SMS │
│ In-App │
└─────────────────────┘
| Component | Technology | Purpose |
|---|---|---|
| API Server | Node.js, Express, TypeScript | Request handling, auth, validation, enqueuing |
| Worker | Node.js, BullMQ, TypeScript | Feature extraction, ML routing, delivery execution |
| ML Service | Python, FastAPI, XGBoost | Engagement prediction, epsilon-greedy exploration |
| Database | PostgreSQL 16 | Multi-tenant storage with row-level security |
| Cache/Queue | Redis + BullMQ | Async job processing, rate limiting, caching |
| Dashboard | React, Vite, Tailwind, shadcn/ui | Real-time analytics, routing intelligence, notification explorer |
| Real-time | Socket.IO | In-app delivery channel + live dashboard updates |
| Observability | Prometheus, Grafana, Pino | Metrics, dashboards, structured JSON logging |
| CI/CD | Docker, GitHub Actions | Containerized deployment, automated testing, secret scanning |
| Algorithm | Role | How It Works |
|---|---|---|
| XGBoost | Channel Prediction | Decision trees trained on delivery outcomes. Each tree corrects the previous tree's errors. Outputs per-channel engagement probability-highest wins. |
| Epsilon-Greedy | Exploration Strategy | 90% exploit (use model's best prediction), 10% explore (try alternative channels). Prevents the model from getting stuck on old data. |
| Circuit Breaker | Reliability | Monitors provider failure rates in real-time. Opens on threshold -> reroutes to next-best channel -> auto-recovers utilizing a half-open test after cooldown. |
See Architecture at a Glance above. Detailed component diagram coming Sprint 1.
Coming Sprint 1
Coming Sprint 1
Coming Sprint 1
Coming Sprint 3
User Manual-Coming Sprint 3
Deployment Manual-Coming Sprint 3
API Documentation-Coming Sprint 3
Draft coming Sprint 2 · Final coming Sprint 3
View User Stories and Acceptance Criteria Spreadsheet as PDF | Download Product Backlog as Excel Workbook-Coming Sprint 1
-
Watch Sprint 0 Presentation Video | Click here to download mp4 File
0a. View Sprint 0 Presentation Slides as PDF
0b. Download Sprint 0 Presentation Slides as PowerPoint
0. Sprint 0 Completed Tasks-Coming Soon
1. Watch Sprint 1 Sprint Planning Video | Click here to download mp4 file-Coming Mar 26
1. Watch Sprint 1 Presentation Video | Click here to download mp4 File-Coming Mar 26
1a. View Sprint 1 Presentation Slides as PDF
1b. Download Sprint 1 Presentation Slides as PowerPoint
1a. View Sprint 1 User Stories and Acceptance Criteria Spreadsheet as PDF-Coming Mar 26
1b. Download Sprint 1 User Stories and Acceptance Criteria as Excel Workbook
1a. View Sprint 1 Test Cases as PDF-Coming Mar 26
1b. Download Sprint 1 Test Cases as Excel Workbook
1a. Link to Prototype-Coming Mar 26
1b. Sprint 1 Source Code
1a. Sprint 1 Burndown Chart-Coming Mar 26
1b. Completed Tasks
1. Watch Sprint 1 Retrospective Video | Click here to download mp4 File-Coming Mar 26
2. Watch Sprint 2 Sprint Planning Video | Click here to download mp4 file-Coming Apr 16
2. Watch Sprint 2 Presentation Video | Click here to download mp4 File-Coming Apr 16
2a. View Sprint 2 Presentation Slides as PDF
2b. Download Sprint 2 Presentation Slides as PowerPoint
2a. View Sprint 2 User Stories and Acceptance Criteria Spreadsheet as PDF-Coming Apr 16
2b. Download Sprint 2 User Stories and Acceptance Criteria as Excel Workbook
2a. View Sprint 2 Test Cases as PDF-Coming Apr 16
2b. Download Sprint 2 Test Cases as Excel Workbook
2a. Link to Prototype-Coming Apr 16
2b. Sprint 2 Source Code
2a. Sprint 2 Burndown Chart-Coming Apr 16
2b. Completed Tasks
2. Watch Sprint 2 Retrospective Video | Click here to download mp4 File-Coming Apr 16
3. Watch Sprint 3 Sprint Planning Video | Click here to download mp4 file-Coming May 14
3. Watch Sprint 3 Presentation Video | Click here to download mp4 File-Coming May 14
3a. View Sprint 3 Presentation Slides as PDF
3b. Download Sprint 3 Presentation Slides as PowerPoint
3a. View Sprint 3 User Stories and Acceptance Criteria Spreadsheet as PDF-Coming May 14
3b. Download Sprint 3 User Stories and Acceptance Criteria as Excel Workbook
3a. View Sprint 3 Test Cases as PDF-Coming May 14
3b. Download Sprint 3 Test Cases as Excel Workbook
3a. Link to Prototype-Coming May 14
3b. Sprint 3 Source Code
3a. Sprint 3 Burndown Chart-Coming May 14
3b. Completed Tasks
3. Watch Sprint 3 Retrospective Video | Click here to download mp4 File-Coming May 14
Team Working Agreement as PDF | Download Team Working Agreement as DOCX
![]() |
![]() |
![]() |
| Sarah Kim | Daniel Ross | Amanda Lopez |
| Backend Developer Persona PDF | Product Manager Persona PDF | Growth Lead Persona PDF |
notifyengine/
├── apps/
│ ├── api/ # Node.js Express API server (TypeScript)
│ ├── worker/ # BullMQ queue workers (TypeScript)
│ ├── ml-service/ # Python FastAPI ML prediction + training
│ └── dashboard/ # React admin dashboard (Vite + Tailwind)
├── packages/
│ └── shared/ # Shared TypeScript types + constants
├── infra/
│ ├── docker-compose.yml
│ ├── prometheus.yml
│ ├── grafana/dashboards/
│ └── migrations/ # PostgreSQL migrations
├── models/ # XGBoost model artifacts
├── .github/workflows/ # CI/CD + TruffleHog secret scanning
├── turbo.json
├── package.json
└── CLAUDE.md # Project config with coding standards + security rules








