2 apps Knock
Novu screenshot thumbnail

Novu

Powering notification delivery for thousands of organizations with over 39,000 GitHub stars, Novu is the open-source communication infrastructure that eliminates the need to build separate integrations for every messaging channel. The TypeScript-based platform provides a single API endpoint that routes notifications across In-App Inbox, Email via SendGrid, Mailgun, AWS SES, and Postmark, SMS through Twilio, Vonage, and Plivo, Push via Firebase Cloud Messaging, Expo, and APNS, and Chat through Slack, Discord, Microsoft Teams, and WhatsApp. The embeddable React Inbox component delivers real-time WebSocket-powered notifications with read/unread states, action buttons, and user-controlled preferences directly inside your application. The workflow engine orchestrates complex multi-channel delivery with conditional branching, time delays, digest batching to reduce notification fatigue, throttle controls, and per-step channel fallbacks. Novu Connect introduces Agent Communication Infrastructure enabling AI agents built with LangChain, Claude, or custom frameworks to hold threaded two-way conversations with humans across any supported channel through a single conversation model with identity resolution and credential management. The backend runs on Node.js with NestJS, MongoDB for notification storage, Redis with BullMQ for job queuing, and Socket.io for real-time delivery. Self-hosting deploys via Docker Compose with the dashboard accessible at port 4200. Running on a dedicated VPS on RepoCloud with guaranteed CPU, RAM, and SSD, full root SSH access, and a browser serial console. MIT licensed.

Deploy
NotifKit screenshot thumbnail

NotifKit

One notify() call is all your product needs to reach users on push, email, SMS, chat, and webhooks, with NotifKit deciding how and when each message travels. List the channels in the order you prefer and NotifKit tries each in turn, so a failed push quietly becomes an SMS or an email instead of a lost message. Per-user preferences, consent, and quiet hours in each user's own timezone hold non-urgent sends until morning, while critical messages such as one-time passwords travel their own lane immediately. Templates, multi-step workflows that wait days or block on events, scheduling, throttling, and deduplication all run behind that single call, defined in TypeScript and kept in your repository. Delivery logs record every attempt, and the admin dashboard shows a live activity feed, queue depth per priority lane, workflow runs step by step, and a replayable dead-letter queue. Several products can share one deployment as separate projects with their own API keys, rate limits, and data, and any service can call the REST API without the TypeScript SDK. Ask an AI assistant why a password reset never arrived by connecting the built-in MCP server to Claude Code, Cursor, or another MCP client. Running on a dedicated VPS on RepoCloud with guaranteed CPU, RAM, and SSD, full root SSH access, and a browser serial console. MIT licensed.

Deploy