Why NotifyKit?

Notification infrastructure already exists. NotifyKit is useful because it chooses a different boundary: it is a library inside your TypeScript application, not a second application that owns your workflows and notification state.

The short version: use NotifyKit when notification behavior belongs to engineering, should change in the same pull request as product behavior, and should persist in the same database as the app.

The specific problem

A basic notification starts as an email or inbox row. It quickly grows preferences, unsubscribe rules, retries, deduplication, quiet hours, realtime unread state, and debugging. Rebuilding those pieces per feature is error-prone, but adopting a notification platform can add a remote control plane, another data store, environment synchronization, and a second deployment model.

NotifyKit packages the reusable pipeline while leaving definitions, authentication, data, and deployment inside the application.

Choose by operating model

NotifyKitManaged platformSelf-hosted platform
RuntimeYour app or workerVendor serviceSeparate services you operate
DefinitionsImported TypeScriptDashboard/API/synced filesDashboard or code-first workflows
StateYour app databaseVendor-managedPlatform database
Visual editorNoUsuallyUsually
Durable deliveryYou connect the queue/workerManagedYou operate platform workers
Channel catalogFocused; adapters are extensibleBroadBroad
Primary userApplication engineersEngineering + product/growthPlatform teams

Good fit

  • A TypeScript monolith, modular monolith, or small service.
  • Transactional product notifications rather than marketing campaigns.
  • Teams that already operate Postgres or SQLite and want app-owned data.
  • Notifications that should be reviewed, tested, and deployed with code.
  • Teams willing to own queueing and provider operations in exchange for control.

Not a good fit

  • Non-engineers need to design and publish workflows without a deploy.
  • You need dozens of turnkey providers, mobile push SDKs, or marketing broadcasts today.
  • You want managed deliverability, analytics, and support rather than infrastructure ownership.
  • You need a visual journey builder with branching multi-step campaigns.
  • You cannot operate a durable worker for delivery that must survive crashes.

Alternatives are valid

Knock, Courier, and SuprSend are strong choices when a managed control plane is an advantage. Novu offers both cloud and self-hosted platform models, including code-first workflows. NotifyKit is not claiming those tools lack type safety or source control; its distinction is that no notification platform is required at runtime.