Backend for your in-app notifications. You send. We deliver.
Bodhveda is an open-source Notification-as-a-Service backend for in-app notifications that helps you build rich, scalable in-app notification systems — from indie side projects to GitHub or YouTube like platforms.
Solo founders, indie hackers, and dev teams who want to deliver scalable, preference-aware notifications — without reinventing the wheel, so they can focus on what matters.
- A dev.to-style blog with mentions and comments,
- A SaaS dashboard that sends usage alerts,
- Or a large scale platform like GitHub or YouTube,
Bodhveda has your backend covered.
curl -X POST https://api.bodhveda.com/v1/notifications/send \
-H "Content-Type: application/json" \
-d '{
"recipient": "user_123",
"payload": {
"title": "Invoice due",
"message": "Your ₹299 invoice is due on Aug 1."
}
}'
Tell us who to send it to (recipient
) and what to send (payload
) — Bodhveda takes care of the rest.
curl https://api.bodhveda.com/v1/recipients/user_123/notifications
Example Response
Notification delivered to the Recipient.
[
{
"payload": {
"title": "Invoice due",
"message": "Your ₹299 invoice is due on Aug 1."
},
"read": false,
"delivered_at": "2025-07-30T14:00:00Z"
}
]
curl -X POST https://api.bodhveda.com/v1/notifications/send \
-H "Content-Type: application/json" \
-d '{
"channel": "product",
"topic": "release",
"event": "new_version",
"payload": {
"title": "Bodhveda v2 is live!",
"message": "Check out what is new in our latest release."
}
}'
💡 Since no recipient is specified, this is treated as a broadcast.
Bodhveda uses the provided channel
, topic
, and event
to:
- Discover all eligible recipients who have not muted or unsubscribed
- Respect each recipient’s preferences
- Materialize notifications lazily in the background
This allows you to reach thousands of users and know exactly who received, who read, and who opened the notification.
NOTE: If you omit all channel
, topic
and event
, then this broadcast will materialize as a notification for ALL recipients in your app.
-
✅ Targeted Notifications Send 1:1 transactional notifications like password changes, invoice alerts, or DMs directly to known recipients.
-
✅ Broadcast Notifications Reach all subscribed or eligible recipients. Supports lazy materialization, respecting mutes and preferences.
-
✅ Channel / Topic / Event structure Organize notifications with semantic metadata to enable grouping, filtering, preferences, and analytics.
-
✅ Recipient Preferences, Mutes, Subscriptions Allow users to opt into or out of specific types of notifications — even at fine-grained event levels.
-
✅ Inbox API Fetch notifications, track read/unread status, delete items — just like a modern inbox.
-
✅ Analytics & Observability Get built-in visibility into delivery: see who received a broadcast, who read it, how many opened it — right from Bodhveda's web dashboard.
-
✅ Logs Explorer Inspect delivery attempts, failures, and system logs with powerful filtering and traceability.
-
✅ Notification & Broadcast Management Browse, manage, and even send new broadcasts directly from the admin dashboard UI.
-
✅ Self-hostable or Managed Host it yourself under or use our managed Bodhveda Cloud.
-
✅ REST-first Interface Designed to be easily integrated with any backend stack or frontend UI via HTTP REST APIs. We strongly recommend using our in-house SDKs. They simplify the integration process and make it incredibly easy to get started with Bodhveda.
Some ask, "Why isn't this just a library?"
Because:
- Delivering notifications at scale is a stateful problem: read/unread, retries, preferences, jobs
- Preferences and subscriptions require persistent storage and matching logic
- Materialization of broadcasts can involve fanout to thousands
- You want analytics and delivery visibility — not just send-and-forget
Bodhveda is your backend, with batteries included — but can be self-hosted and used like a microservice.
AGPL v3 because notifications should be free to own, run, and customize.
Built with 💙 by Mudgal Labs