Welcome to Polynomial Live
Add presence, typed events, and durable collaborative state to your application.
Polynomial Live gives every collaborative surface a room: a secure place where people can see one another, exchange events, and edit shared data. Start with the React path below, or jump straight to the SDK that matches your runtime.
New to realtime collaboration?
You only need two packages for a typical React app: @polynomialhq/react in the browser and
@polynomialhq/server in your token endpoint.
See it work
The demo below is not a recording. It is two independent React trees, each with its own
RoomProvider, running the real @polynomialhq/react package against an in-memory realtime
service. Move your pointer over either window.
Every demo in this documentation works the same way, so you can read the guide and try the behaviour in the same place. Nothing is sent to a server and no API key is involved.
Build your first room
Find the right guide
Choose an SDK
| Package | Start here when you need | Runtime |
|---|---|---|
@polynomialhq/react | Providers and hooks for a React interface | Browser |
@polynomialhq/client | Framework-agnostic rooms or lower-level control | Browser or polyfilled runtime |
@polynomialhq/server | Tokens, room administration, or backend broadcasts | Trusted Node.js server |
@polynomialhq/contracts | Protocol validation, schemas, and codecs | Browser, server, or worker |
Before you ship
Use the production checklist to review token security, permissions, loading states, reconnect behavior, and observability. If something does not behave as expected, work through troubleshooting.
Secret keys never reach the browser
Browser code should receive a short-lived, room-scoped token from an authenticated endpoint. A
key beginning with sk_ belongs only in server-side code.