BLUEPRINTS

Purpose-built SDKs.
Install and ship.

Blueprints are high-level SDKs for common real-time patterns. Each one wraps the NoLag core with a domain-specific API, pre-configured infrastructure, and a working demo app. No wiring, no boilerplate.

HOW IT WORKS

From zero to real-time in three steps.

01

Pick a Blueprint

Choose the SDK that matches your use case. Chat, notifications, tracking, dashboards, or build your own.

npm i @nolag/chat
02

Connect with one token

Initialize the SDK with your token. Rooms, topics, presence, and replay are pre-configured.

const chat = new NoLagChat(token);
await chat.connect();
03

Use the domain API

Call methods that make sense for your domain. No topics, no subscriptions, no low-level wiring.

room.sendMessage("Hello!");
room.startTyping();
TRY IT LIVE

Test every Blueprint in the browser.

Every Blueprint comes with a fully interactive demo app. Edit the code, see the preview update in real-time, and connect with your own access token to test against the live NoLag infrastructure. No local setup required.

  • Built-in code editor with live preview
  • Reset, save, download, or fork as your own Blueprint
  • Connect with your token to test real pub/sub, presence, and replay
  • Share your test app with a link, no deployment needed
Try a Blueprint →
NoLag Chat Blueprint demo app with code editor, live preview, and connect form
EXPLORE BLUEPRINTS

Every Blueprint. Every API.

Select a Blueprint to see its full API surface, events, and infrastructure config.

Chat

available
@nolag/chat

A complete chat SDK built on the NoLag core. Handles room management, user presence, typing indicators, message history with replay on reconnect, unread counts, and online user tracking. Works with any framework.

$ npm i @nolag/chat @nolag/js-sdk

What's included

Multi-room
Join and switch between rooms with joinRoom() / leaveRoom()
Presence
Per-room user lists and global online users across all rooms
Typing indicators
startTyping() auto-stops after timeout, typing events per room
Message replay
Missed messages automatically replayed on reconnect with isReplay flag
Unread counts
Per-room unread tracking with markRead() and unreadChanged events
User status
Online, away, busy, offline with setStatus() and profile updates

Pre-configured infrastructure

TOPICS
messages
_typing
ROOMS
general
random
help
dev
LOBBY
Online presence tracking
REPLAY
7 day retention, 100 message replay
import { NoLagChat } from "@nolag/chat";

const chat = new NoLagChat(token, {
  username: "Alice",
  rooms: ["general", "random"],
});

chat.on("connected", () => console.log("Ready!"));
chat.on("userOnline", (u) => console.log(u.username, "online"));

await chat.connect();

API Methods

new NoLagChat(token, options)Create a chat instance
chat.connect()Connect and set up presence
chat.joinRoom(name)Join a chat room (returns ChatRoom)
chat.leaveRoom(name)Leave a chat room
chat.getOnlineUsers()All users online across rooms
chat.setStatus(status)Set online/away/busy/offline
room.sendMessage(text)Send a message (optimistic)
room.startTyping()Signal typing (auto-stops)
room.getMessages()All messages in the room
room.getUsers()All users in the room

Events

connectedchatConnection established
userOnlinechatA user came online
userOfflinechatA user went offline
messageroomNew message received
typingroomTyping state changed
userJoinedroomUser joined this room
userLeftroomUser left this room
replayStartroomMessage replay beginning
replayEndroomMessage replay finished
BLUEPRINT VS DIY

What you don't have to build.

Every Blueprint handles the plumbing so you can focus on your product.

WITHOUT BLUEPRINTS

Design topic structure for your use case
Build presence tracking from pub/sub primitives
Implement typing indicators with timers
Handle message replay and deduplication
Manage room state and user lists
Wire reconnection logic and state recovery
Build unread count tracking
Map low-level events to domain concepts

WITH BLUEPRINTS

npm install the Blueprint SDK
Connect with one token
Call domain methods like sendMessage()
Presence, typing, replay work out of the box
Infrastructure pre-configured
Reconnection and state recovery handled
Unread counts, user lists included
Ship in minutes, customize later
USE CASES

Built for every real-time use case.

From chat apps to IoT platforms, NoLag powers real-time experiences across industries.

Chat & Messaging

Team chat, customer support, in-app DMs, and social messaging with rooms, presence, and typing indicators.

Multi-roomTyping indicatorsRead receiptsMessage historyPresencePrivate messages

IoT & Telemetry

Fleet management, smart home, energy monitoring, and industrial sensor data streaming.

Telemetry streamingCommand dispatchAck trackingDevice rolesConfigurable timeoutDevice presence

Collaborative Apps

Figma, Linear, Notion-style apps with cursor tracking, live document sync, and conflict resolution.

Cursor trackingReal-time syncUser presenceVersion historySelection sharing

Live Dashboards

Trading platforms, ops centers, observability tools with filtered real-time data.

Metric streamingRolling aggregationWidget stateViewer trackingTime-series buffer

Live Notifications

Real-time notifications with channels, read/unread tracking, and badge counts.

Multi-channelRead/unread trackingBadge countsMessage replayCross-tab sync

Vehicle Tracking

Live GPS tracking for vehicles and assets with client-side geofencing.

Live GPSCircle geofencesPolygon geofencesZone-based groupingAsset presence

Remote Terminals

Execute commands on remote devices via browser for DevOps, IoT management, and CI/CD.

Shell executionFile transferDevice discoveryMulti-deviceSession persistence

Pick a Blueprint.
Ship today.

Every Blueprint works on the free tier. Install the package, connect with your token, and start building.