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 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
| NotifyKit | Managed platform | Self-hosted platform | |
|---|---|---|---|
| Runtime | Your app or worker | Vendor service | Separate services you operate |
| Definitions | Imported TypeScript | Dashboard/API/synced files | Dashboard or code-first workflows |
| State | Your app database | Vendor-managed | Platform database |
| Visual editor | No | Usually | Usually |
| Durable delivery | You connect the queue/worker | Managed | You operate platform workers |
| Channel catalog | Focused; adapters are extensible | Broad | Broad |
| Primary user | Application engineers | Engineering + product/growth | Platform 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.