What is CollabKit?
CollabKit is a real-time collaboration platform that helps you build multiplayer experiences. It provides a server and a client SDK (for the browser) that handle the hard parts of real-time collaboration so you can focus on the product.Quickstart
Get up and running in under 5 minutes.
Client SDK
Explore the browser SDK modules.
API Reference
Full HTTP API documentation.
Guides
Practical tutorials and examples.
Key Features
| Feature | Description |
|---|---|
| Users Management | Manage participants, track online/offline status in real-time. |
| Follow Users | Let users follow each other’s cursors and actions in real-time. |
| Presence | Share ephemeral state (cursors, selections, scroll positions) with 50ms throttling. |
| Stores | Schema-driven, type-safe KV stores synced across all connected clients in real time. |
| Version Control | Track changes per user and roll back to previous versions. |
| CRDT (Yjs) | Optional Yjs provider for conflict-free collaborative editing. |
| Comments | Threaded comments with replies, reactions, and user tagging. |
| Broadcasts | Send custom events to all participants or specific users. Fire-and-forget messaging. |
| File Storage | Upload, list, and serve files scoped to rooms via R2 object storage. |
| Webhooks | HTTP callbacks for server-side events (user joined, session started, etc.). |
| Workflows | Run custom JavaScript in response to events via Cloudflare Workers. |
Architecture
CollabKit is split into three npm packages:defineStores() schema utility used by both client and server.
Packages
@collab-kit/client
Browser SDK for connecting to rooms and using collaboration features.
@collab-kit/utils
Shared types, enums, and the
defineStores() schema utility.@collab-kit/server
Cloudflare Worker server. Self-hosted or managed.
Next Steps
Sign up and get your API key
Create an account on the dashboard and find your API key in Settings.
Create a room and add users
Use the REST API to create a room and create users to get a JWT token. Alternatively, you can also do this through the dashboard.
Install the SDK and connect
Install
@collab-kit/client, pass the JWT token, and call connect() + join().