notifkit
Self-hosted notification infrastructure for product notifications. One API call handles email, SMS, push, and webhooks, with preferences, quiet hours, retries, fallback, scheduling, workflows, and delivery logs built-in.
Ficha actualizada 23 sept 2026, 8:02 · upstream 23 sept 2026, 7:41 · release v0.1.10
Qué es notifkit
Descripción editorial construida a partir del repositorio, su documentación y sus señales de mantenimiento.
Notifkit is a self-hosted notification infrastructure designed to replace the need for building custom notification systems from scratch. It provides a single API call that handles email, SMS, push notifications, and webhooks simultaneously, with built-in features such as user preferences, quiet hours, retry logic, fallback channels, scheduled sends, workflow automation, delivery logs, and unsubscribe handling.
The architecture consists of an orchestration engine running in the background alongside your application, which manages message routing, channel selection, rate limiting, and delivery tracking. The API layer handles authentication, project management, template synchronization, and user registration, while worker processes handle individual notification dispatching with support for retry queues, dead-letter handling, and idempotency.
Key design decisions include a typed SDK that reduces boilerplate code, an MCP server for AI agent integration, and a modular transport layer that allows developers to swap providers without modifying core logic. The system supports both single-process deployments for small applications and distributed setups with Redis Streams consumer groups for high-scale production use cases.
- Automated order confirmation emails sent after successful payment processing
- Push notifications delivered when a user's cart reaches a threshold amount
- SMS OTP verification codes sent to registered users during account registration
- In-app notification banners displayed for abandoned product views with configurable frequency
- Scheduled weekly digest reports sent to enterprise customers via email and push channels
- Real-time chat notifications delivered through Slack, Telegram, or Discord when a user interacts with the platform
- Supports multiple delivery channels (email, SMS, push, webhooks) from a single API call with automatic fallback to lower-cost channels on failure
- Built-in retry logic with configurable backoff strategies and exponential backoff for transient failures without manual intervention
- Delivery tracking and analytics including open rates, click-throughs, bounces, complaints, and suppression reasons per message
- Quiet hours feature that blocks notifications during specific time windows to reduce user annoyance
- Template rendering with support for dynamic variables (e.g., {{orderId}}, {{user.email}}) using a templating engine
- MCP server integration enabling AI agents to send notifications, query delivery logs, and manage campaigns programmatically
- No built-in multi-language email sending; requires external SMTP or third-party providers for internationalization
- Push notification support is limited to Firebase Cloud Messaging (FCM) only, restricting platform reach
- Template rendering uses a simple templating engine without advanced features like conditional logic, loops, or rich media embedding
- No built-in user segmentation or audience targeting; requires manual list management and external tools for segmentation
- Rate limiting is implemented via Redis Streams but lacks granular per-channel rate limits in the API layer
Perfil de infraestructura
Estimación inicial derivada del repositorio y de los servicios detectados.
Despliegue detectado
Qué señales reales de instalación hemos encontrado.
Install notifkit with npm, configure your environment variables (DATABASE_URL, REDIS_URL, RESEND_API_KEY), run migrations using drizzle-kit, and start the server. For production, use Docker Compose to orchestrate PostgreSQL, Redis, and a reverse proxy alongside your application. Set up a CI/CD pipeline that runs tests against testcontainers for each deployment stage. Monitor delivery metrics via the /metrics endpoint and set up alerting on high failure rates or queue backpressure.
Stack y dependencias
Componentes inferidos a partir de manifests, configuración y documentación.
Puede sustituir a
Relaciones detectadas por el análisis del repositorio y su categoría.
Experiencia real de la comunidad
Ayuda a contrastar la estimación automática con instalaciones reales.
Todavía no hay datos comunitarios para este proyecto.