Skip to content

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.

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.

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.