Skip to content

MudgalLabs/bodhveda

Repository files navigation

Bodhveda banner

Backend for your in-app notifications. You send. We deliver.

Bodhveda

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.

🧠 Who is Bodhveda for?

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.

Whether you're building:

  • 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.

🚀 How it works? It's just a REST API.

🎯 Send a Direct Notification

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.

📥 Fetch the User's Inbox

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"
  }
]

📣 Send a Broadcast Notification

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.

🧩 Features

  • 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.

❓ Why a Backend, not a library?

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.

📜 License

AGPL v3 because notifications should be free to own, run, and customize.

Built with 💙 by Mudgal Labs

About

Bodhveda is a Notification-as-a-Service backend for in-app notifications. You send. We deliver.

Resources

License

Stars

Watchers

Forks