Skip to content
All work

NotifyBell

The bell. Not the cluster.

Category
Notifications & Alerting
Status
Live
Platforms
Web, API
Stack
Next.js, React, Prisma, PostgreSQL, Redis, Lit, Auth.js, Stripe, Tailwind CSS

NotifyBell is an embeddable in-app notification centre — a bell icon with an unread badge, inbox history, real-time delivery and a preferences API — dropped into any web app with a single custom element. It is built for teams who want the notification-bell experience without running a full multi-channel orchestration platform.

NotifyBell renders as a single custom element that works unchanged across React, Vue, Svelte, Rails or a plain page, inside a shadow root so host CSS can't leak in or out. A backend mints a short-lived, signed subscriber token naming the logged-in user — the API key that can publish notifications never reaches the browser.

Publishing is a single REST call with an optional dedupe key so retries don't double-notify. Postgres is the source of truth and Redis only fans delivery out, so a subscriber who was offline still sees what they missed on reconnect rather than losing it to an unreplayed channel.

Notification preferences are enforced server-side at publish time: an opted-out notification is never delivered, not merely hidden in the UI after the fact. Pricing is based on monthly active subscribers rather than database rows.

4 capabilities
Bell, badge, inbox
A bell icon with unread badge and paginated inbox history, delivered in real time via a single custom element.
Mint a token in your backend
Your backend signs a short-lived token naming the logged-in user; the signing key that can publish notifications never reaches a browser.
Publish from your backend
A REST endpoint creates subscribers on first publish and supports a dedupe key so a retried call doesn't double-notify.
Framework-agnostic embed
The same custom element works unchanged in React, Vue, Svelte, Rails or a plain page, with exposed styling parts for theming.

Tell us what is broken or what should exist.

Send the shape of the problem and any constraints you already know — budget, deadline, the stack you are stuck with. You will get a written reply from the engineer who would do the work, not a sales sequence.