Drop in "who's online", live broadcasts and an honest reconnecting indicator — over SignalR, with zero JS-interop glue.
Pure Blazor · works across .NET 10 render modes · dotnet add package MkDotnet.Blazor.Live
Presence and collaboration are the features every modern app wants and no Blazor library ships cleanly. So everyone re-implements the same SignalR plumbing — badly.
Telerik, Syncfusion and MudBlazor give you grids and charts — but no "who's online", no live cursors, no shared state.
The real-time options are JavaScript wrappers that fall apart under static SSR and the .NET 10 render modes.
Hand-rolling a hub, connection lifecycle, reconnect handling and a presence dictionary eats an afternoon — every project.
Register two lines in Program.cs, then wrap your content in a room. That's the whole integration.
// a hub, a HubConnection, reconnect // handling, a presence dictionary, // join/leave plumbing, and the JS to // keep it alive across render modes… // …hundreds of lines, every project.
@rendermode InteractiveServer <LiveRoom Room="lobby" UserName="Ada"> <PresenceView /> <LiveConnectionState /> </LiveRoom>
The free core is good enough to ship real features. Pro adds the collaborative polish and the scale-out config people pay to skip.
| Feature | Free | Pro |
|---|---|---|
| Presence — who's online + avatars | ✓ | ✓ |
| Live broadcast helper | ✓ | ✓ |
| Connection / reconnecting UI | ✓ | ✓ |
| Single room | ✓ | ✓ |
| Live cursors / pointers | — | ✓ |
| Shared state sync | — | ✓ |
| Typing / idle / away indicators | — | ✓ |
| Redis + Azure SignalR scale-out helpers | — | ✓ |
| Multi-room · priority support | — | ✓ |
No subscriptions. Pay once, per developer, and own it.
Yes — that's the whole point. It's pure Blazor (no JS wrapper), so it behaves correctly under static SSR and interactive render modes. In static SSR the components render a placeholder and go live once the circuit is interactive.
No. The free tier runs single-node with in-memory presence — perfect for most apps and all of development. When you scale out across multiple servers, Pro ships ready-made Redis backplane and Azure SignalR configuration so you don't fight it.
Effectively none of your own. Presence, broadcast and connection state are all handled in Blazor over SignalR — no JS-interop glue for you to write or debug.
The free core is MIT — use it commercially, no strings. Pro is a perpetual, per-developer commercial license for the advanced collaboration features and support.
Today the hub is server-hosted and the components connect to it over SignalR (Interactive Server). The components are built to render across modes; broader WASM hosting guidance is on the roadmap.
Free, MIT, and already on NuGet.