mrkeyoor.com_
Tue 01 Sept 16:21 UTC
Automationevaluationupdated 26 Aug 2026

novu review

Novu is a notification and conversation platform for products and software agents. It gives developers one workflow layer for in-app inboxes, email, SMS, push, and chat, while outside providers still perform most delivery.

+31stars / 7d
Verdict

Our Novu install pulled 5,192 packages and used 3,845 MB before a successful 334-second build, so self-hosting is a platform commitment rather than a small dependency. Choose Novu when notification preferences, an in-app inbox, workflow logic, and several providers belong under one operating model. Use direct provider SDKs or a narrower service when one channel covers the product.

We ran it

Lab card: what happened when we ran novuScreenshot of novu (go.novu.co/github)
Install✓ · 153s5192 packages · 3845 MB
Build✓ · 334s
Testsn/ano test script
Repo10669 files~1,017,135 lines of source · 230.9 MB · 40 CI workflows

Answers from our run

Does novu build from source?

Dependencies installed in 153 seconds (5192 packages), and the build succeeded in 334 seconds. We cloned commit 4cae86c into a clean Debian container with 3 CPUs and no project-specific setup.

Does novu have tests you can run?

Not through a standard command: the project exposes no test script or target that our harness could run.

Who should not use novu?

Teams sending through one provider and one channel: Novu adds a workflow platform where a direct provider SDK may be enough.

What are the alternatives to novu?

Knock, Courier, Apprise. Our Novu install pulled 5,192 packages and used 3,845 MB before a successful 334-second build, so self-hosting is a platform commitment rather than a small dependency.

Setup2/53,845 MB install plus databases, queues, storage, and services
Docs5/5Clear local, self-hosted, provider, inbox, and API documentation
Community5/539,671 stars with active daily issue and pull request work
Maturity4/5Version 3.19.0 is active; self-hosting remains operationally heavy

Discussed on

  1. hnNovu – Service for managing multi-channel notifications with a single API160 points
  2. hnThe open-source Agent Communication Infrastructure3 points

Who it’s for

SaaS teams that need user preferences, digests, workflow conditions, and several delivery channels.
Product engineers who want an embeddable React inbox tied to a notification backend.
Organizations willing to self-host MongoDB, Redis, object storage, API, worker, dashboard, and WebSocket services.
Agent builders connecting the same conversation logic to Slack, Teams, Telegram, WhatsApp, email, or an in-app inbox.

Who it’s NOT for

Teams sending through one provider and one channel: Novu adds a workflow platform where a direct provider SDK may be enough.
Small operators expecting a light Docker service: the self-hosting guide recommends 4 vCPUs and 8 GB RAM for the single-VM application stack, plus MongoDB, Redis, and storage.
Buyers requiring every repository feature under MIT: the README identifies enterprise folders that require a commercial license.
Self-hosters that require social login: the documentation says GitHub and Google login are unsupported outside Novu Cloud.
Frontend teams needing a ready Vue, Angular, or React Native inbox today: the README lists those components as coming later.

Setup reality

Our sandbox installed 5,192 pnpm packages in 153 seconds and consumed 3,845 MB. The build succeeded in 334 seconds. The repository exposed no generic test script or target to the lab, so tests were skipped rather than passed.

A complete local environment needs Node 22, pnpm 11, MongoDB, Redis, and optionally LocalStack for S3 work. The API, worker, WebSocket service, webhook service, and dashboard share URLs and secrets. Provider integrations bring their own API keys, sender identities, and webhook configuration.

Self-hosting also needs a 32-character credential-encryption key, JWT secret, persistent queues, backups, and object storage. Novu Cloud removes much of that work. The open-core license means enterprise paths require separate commercial terms.

One workflow can target five product notification channels

Novu puts Inbox, email, SMS, push, and chat steps behind a shared workflow system. Developers define conditions, digests, templates, and user preferences, then connect delivery providers for each channel. A React component supplies the in-app inbox, including real-time updates. This is useful when notification logic has spread across application code and provider dashboards, or when users need one place to control what they receive.

The same project now includes Agent Communication Infrastructure. It normalizes inbound messages from Slack, Microsoft Teams, Telegram, WhatsApp, email, and an in-app inbox, forwards the conversation to an existing agent, then returns replies through the original channel. Novu does not supply the agent itself. Its role is transport, conversation state, formatting, and channel integration. That separation is sensible for a team that already has agent logic and several user-facing endpoints.

The 3,845 MB install is only the application code

The repository is a large pnpm monorepo. Our measured checkout contained 10,669 files and roughly 1,017,135 lines of source before dependencies. The local development guide requires Node.js 22 and pnpm 11, with MongoDB and Redis running beside the application. LocalStack is optional unless S3-related modules are in scope. The recommended development runner starts the dashboard, API, worker, and shared packages together.

A production deployment has more pieces. API, worker, WebSocket, webhook, and dashboard processes use shared database and queue infrastructure. Provider credentials need encrypted storage, and the API and WebSocket service must agree on JWT secrets. The single-VM self-hosting recommendation allocates 4 vCPUs and 8 GB of RAM to Novu services, plus 2 GB each for MongoDB and Redis and at least 10 GB of object storage.

What happened when we ran it

Our sandbox installed 5,192 packages in 153 seconds. Dependencies occupied 3,845 MB, then the build completed successfully in 334 seconds. We ran commit 4cae86c in an unprivileged Debian container with 3 CPUs, 8 GB of RAM, and no secrets. The build result shows that the monorepo can be assembled in a clean environment, although it is slow and storage-heavy for routine CI.

The repository did not expose a generic tests script or target to our lab, so the test phase was skipped. It would be wrong to turn that into a passing test claim. The scan found 40 CI workflow files, a workspace layout, no tests directory, and no Dockerfile at the measured commit. Our run did not start MongoDB, Redis, delivery providers, a browser inbox, or a multi-service production stack.

Providers remain external dependencies with their own failure modes

The README lists 20 email providers, 37 SMS providers, 8 push providers, 13 chat providers, and Novu's in-app inbox. This gives teams room to change vendors without rewriting every workflow. It does not make the vendors interchangeable. Each integration still has credentials, sender verification, regional limits, payload rules, pricing, delivery receipts, and rate limits. Templates also need testing in the actual email clients or chat platforms users have.

Novu earns its place by centralizing workflow and preference logic above those differences. A direct SendGrid or Twilio SDK is simpler for one channel and a few transactional messages. The balance changes when a single product event may become an inbox item, an email after a delay, or an SMS for urgent cases. At that point, duplicated opt-out rules and retry code are more expensive than a notification platform.

Self-hosting requires durable queues and careful secret handling

The production guide recommends separate Redis clusters, with append-only persistence on the queue cluster to avoid losing jobs during outages. MongoDB holds platform data, while S3-compatible storage handles assets. STORE_ENCRYPTION_KEY protects provider credentials and must be 32 characters. The API secret and JWT secret also become high-value deployment material. Backups need to cover every stateful service, not only the application container.

Community self-hosting has product differences as well. Social login is unavailable, so users sign in with email and password. The docs point to a comparison for SSO, role-based access, compliance, inbox features, and email activity tracking. Teams adopting Novu for control should check that table before assuming the repository reproduces Novu Cloud. The README also places the root enterprise folder and selected web code under a commercial license rather than MIT.

React is ready, while other inbox clients are still described as future work

The React inbox is the clearest frontend path. Teams can use the supplied component or build against the APIs and SDKs. The README says React Native, Vue, and Angular components are coming later. That wording is an aspiration, not a shipping promise. A non-React product should budget for API integration and its own interface instead of choosing Novu on the assumption that a native component will arrive by a deadline.

Agent connections deserve the same discipline. Channel threading, reactions, actions, attachments, and inbound webhooks differ across providers. Current pull requests show active fixes around OAuth tokens, CORS, attachments, idempotency, and deleted integrations. That is healthy maintenance, but agent conversations should be tested for duplicate delivery, retries, reconnects, and provider outages before they become a support channel.

Active releases support adoption, while the queue stays visible

GitHub recorded 39,671 stars, 100 combined issues and pull requests, and a last push on August 26, 2026. Release v3.19.0 shipped on August 7 with API, dashboard, SDK, provider, and MCP-related changes. Daily issue activity covers both fixes and new channel work, so the project is clearly maintained. The combined open count should not be read as 100 bugs.

Novu is a good answer when notification delivery has become shared infrastructure and one team can own it. The 153-second install and 334-second build are manageable in a deliberate pipeline, but 3,845 MB of dependencies and several stateful services are poor fits for a casual side project. Start with Novu Cloud or a local trial, map the exact channels and preference rules, then self-host only if control is worth the operating cost.

Alternatives

ProjectWhat it isPick it when
KnockA managed notification platform with workflows, preferences, and in-app experiences.pick this instead when a hosted service is acceptable and operating the notification control plane is not worth the effort.
CourierA hosted multi-channel notification API with templates and routing.pick this instead when provider orchestration matters but open-source self-hosting does not.
AppriseA smaller library and CLI that sends notifications to many services.pick this instead when you need outbound routing without an inbox, workflow editor, preferences, or conversation layer.
ntfy gh↗A compact self-hosted push notification service built around HTTP topics.pick this instead when simple app-to-device push is the requirement and multi-channel workflows would be excess.

What people are saying

  1. [velocity-scout] novuhq/novu

Sources

  1. Novu README
  2. Run Novu locally
  3. Self-host Novu
  4. Novu v3.19.0 release
  5. Novu issues and pull requests

More automation reviews

lego · OpenCLI · web-access · Karabiner-Elements · WiiUDownloader · prefect · the whole board →