What is datadata?
datadata is a collaborative document engine — in sync-engine terms, a server-authoritative document sync engine. Clients subscribe to documents, edit them optimistically, and an authoritative server orders, validates, and broadcasts every change in real time. There is no offline mode and no distributed merge for structured data: the server stays in charge, by design.
The name is a working title.
The pieces
Section titled “The pieces”datadata is a TypeScript library, not a hosted service. It currently consists of:
- The core library — client, server, session client, schema system, and an in-process transport, with no opinion about where each side runs.
- A Cloudflare backend — runs the server inside a Durable Object with SQLite storage and WebSocket transport. This is the current production deployment shape; see Architecture.
- React bindings — a Jotai-based integration for subscribing to documents from React components.
- Devtools — a panel for inspecting live documents, subscriptions, and pending optimistic updates.
The model in one paragraph
Section titled “The model in one paragraph”Everything is a document: a typed JSON value with a server-assigned sequence number. Structured changes travel as JSON Patch; collaborative text lives in embedded Yjs documents. Schemas are themselves documents, editable through the same API as user data. On top of the live client sits the session client: a staging area where a human or an AI agent accumulates changes, previews conflicts against the live head, and commits atomically.
Who this site is for
Section titled “Who this site is for”- Application developers evaluating sync engines — start with Documents all the way down and When to use it.
- Sync-engine developers comparing notes — start with Design decisions and the wire protocol. We’d genuinely like to compare notes.