DEV Community

Cover image for Notavia is live: one API for email, in-app, SMS and chat, built .NET-first
zacbuilds
zacbuilds

Posted on Edited on

Notavia is live: one API for email, in-app, SMS and chat, built .NET-first

Disclosure first: I build Notavia.

This is a launch post, but I’ll keep it practical: what it does, what’s actually live, and what isn’t.

The problem I kept re-solving

Every SaaS app eventually needs notifications.

It usually starts with "just send an email". Then you add retries, templates, provider credentials, delivery tracking, an in-app inbox, SMS, maybe Slack, and suddenly you have another subsystem to maintain.

I’d built versions of this a few times already, so I stopped rebuilding it and turned it into one thing I could reuse.

That became Notavia.

One call

await notify.Notifications.SendAsync(new SendNotificationRequest(
    Channel: "email",
    Recipient: new Recipient("ada@example.com"))
{
    TemplateKey = "welcome",
    TemplateData = new Dictionary<string, object?> { ["name"] = "Ada" }
});
Enter fullscreen mode Exit fullscreen mode

Notavia handles the template, channel routing, provider call and delivery log. The idea is that your app says what to send and doesn’t need separate plumbing for every channel.

What’s live

Email

Use your own SMTP/provider, or managed sending on paid plans. Custom sender domains, suppressions and unsubscribe handling are built in.

In-app inbox

Unread counts, history and mark-as-read, with real-time updates. For .NET there’s a Blazor component rather than a JS widget wrapped in C#.

SMS

Twilio and Vonage using your own credentials. No managed SMS right now.

Chat

Slack, Teams and Discord. Mostly useful for internal notifications and developer-facing products.

Push isn’t live yet. It’s on the roadmap, but I’m not calling it done until certificate handling and TTL behavior are where I want them.

One template, multiple channels

Templates use Liquid syntax and can render HTML, plain text and shorter message bodies depending on the channel.

They’re editable at runtime too, so you can ship defaults and let tenant admins change their own copy without another deployment.

The .NET-first part

The API is REST, so you don’t need an SDK. But .NET is where I started because that’s the ecosystem I kept building this for.

  • SDKs for .NET, TypeScript, Python, Go and PHP
  • Blazor inbox component with real-time updates
  • MCP server for wiring notifications from AI coding tools
  • Per-tenant sender domains on every plan, a branded in-app inbox from Growth, hosted unsubscribe pages; removing "Powered by Notavia" is Pro and up, or an €8/mo add-on on the lower plans

What it costs

Free forever at 1,000 email sends a month, no card required. On the free plan you bring your own provider keys and the free plan is email only: SMS starts on Starter (€18), the in-app inbox and Slack/Teams/Discord start on Growth (€73), and managed sending is on the paid plans.

For the first 20 teams I’m also doing assisted onboarding and an architecture review, with Growth at the Starter price for the first 60 days.

If you want that, reply here or email hello@saas-infrastructure.com with "founding".

https://saas-infrastructure.com/products/notify?utm_source=devto&utm_medium=launch&utm_campaign=launch-2026-08

Happy to answer technical questions about it. Architecture, delivery flow, templates, Blazor, multi-tenancy, or anything I got wrong.

Top comments (0)