Realtime SDKs for the four apps
you're going to build anyway.

Chat, notifications, live tracking, dashboards: each one a Blueprint SDK with rooms, presence, and replay pre-wired. Install, connect, ship. Drop down to raw pub/sub when you outgrow the templates.

12ms
p50 fan-out
eu-west, 1k subscribers
256KB
max msg size
binary, MessagePack
<50ms
end-to-end latency
p95 global
import { NoLagChat } from "@nolag/chat";

const chat = new NoLagChat(TOKEN, {
  username: "Alice",
});
await chat.connect();

const room = chat.joinRoom("general");

room.on("message", (msg) => {
  console.log(`${msg.username}: ${msg.text}`);
});

room.on("typing", ({ users }) => {
  showTyping(users);
});

room.sendMessage("Hello!");
room.startTyping();
TRANSPORT
WebSocket / TCP
CODEC
MessagePack v2
AVG PAYLOAD
−47% vs JSON
QoS LEVELS
0 · 1 · 2
HEARTBEAT
30s
RECONNECT
auto · backoff
WebSocket MessagePack −47% payload QoS 0/1/2 Presence built-in Wildcards Filters Replay Webhooks Lobbies JS · Python · Go WebSocket MessagePack −47% payload QoS 0/1/2 Presence built-in Wildcards Filters Replay Webhooks Lobbies JS · Python · Go
02 · MENTAL MODEL

How it works.

NoLag organizes your real-time infrastructure into four levels. Each level serves a distinct purpose, from billing boundaries down to individual message channels.

project
Your product: billing, actors, and environment boundary
app
A real-time feature: own topics, config, and webhooks
room
Scoped instance: per-user, team, or device data isolation
topic
Message channel: one data type per channel within a room

Actors (your users) are granted access to specific apps. One actor can interact with multiple apps through a single connection.

Learn more →
NAMESPACE EXPLORER18 topics live
◆ logistics-prodproject
chat/general/
└―messages5 sub
└―typing2 sub
└―reactions7 sub
chat/dispatch-team/ PRIVATE
└―messages5 sub
└―typing2 sub
└―presence6 sub
chat/support/
└―messages5 sub
└―log5 sub
03 · WHAT'S IN THE BOX

Everything you'd otherwise build yourself.

No add-on pricing. No "presence is on the Pro plan." Every account gets the full surface area, the only thing that scales with the price is throughput.

01

Pub/Sub

Topic-based routing on a binary protocol. Wildcards, retained messages, infrastructure-level filters.

02

Presence

Built-in. Per-room, per-lobby, with custom metadata. Joins and leaves are events you subscribe to.

03

QoS 0/1/2

Per-message delivery guarantees. Fire-and-forget for telemetry, exactly-once for transactions.

04

ACL

Per-topic read/write. Roles, actor types (device, user, server, session), API key scoping.

05

Webhooks

Hydration on subscribe. Triggers on publish. Dead-letter queue. Custom headers and auth.

06

Replay

Configurable per topic. Reconnects automatically replay missed messages from your retention window.

07

Lobbies

Observe presence across many rooms at once. Built for dashboards, ops centers, and admin views.

04 · DELIVERY GUARANTEES

Pick a QoS per message, not per app.

Most brokers force one delivery contract on the whole connection. NoLag attaches QoS to the message itself. Telemetry can fly, payments can wait for the handshake.

Acknowledged delivery. May duplicate on retry. The default.

TYPICALLY USED FOR
Chat messages, presence updates, IoT commands.
PROTOCOL HOPS
2
TYPICAL LATENCY
14ms
WIRE OVERHEAD
18 B
WIRE SEQUENCE
A
publisher
PUB
ACK
B
subscriber
06 · WHAT PEOPLE SHIP

One broker. Five categories. Probably yours.

The same primitives (rooms, topics, presence, QoS) adapt to wildly different shapes. Hover to see the wiring.

Chat & messagingtemplate available
Asha
Shipping the prototype now
Ben
Looks great — adding presence
Asha
Filter by user_id?
ben is typing…
+ Topic per channel
+ Presence built-in
+ Typing indicators free

Ship the realtime bit
before lunch.

Three SDKs. One key. Every feature on the free tier. Spend the afternoon polishing your product instead of debugging WebSockets.