Services / Sync

Sync

Building

Real-time collaboration without running a server.

A managed yrs relay with persistence, auth, presence and webhooks. It speaks the y-websocket and Hocuspocus protocols, so any Yjs client can join.

What it does

  • Relays Yjs updates between every peer in a document
  • Persists each document between sessions
  • Carries presence: carets, selections and who is here
  • Authenticates connections and calls your webhooks on change
Connect an editor (provisional API)
const sync = await connectSync({
  url: "wss://sync.canvist.example/v1",
  document: "notes/launch-plan",
  token: await getToken(),
});

editor.collaborate(sync);

Same binary, your servers

Self-host the exact binary we run.

Run the exact relay binary canvist runs, on your own infrastructure, with the same protocols. canvist charges for operating the service, never for the code: the server is public domain like the editor, and the binary canvist deploys is the one it publishes.

Source on GitHub