Getting started
Introduction
Syndra keeps data in sync across devices, users and servers with offline support, presence and conflict-free merges built in.
On this page
Syndra is a real-time sync engine for modern apps. You write to a local document, and Syndra makes sure every device, tab and server sees the same state in milliseconds, even through flaky connections.
import { createClient } from "@syndra/client"
const syndra = createClient({ project: "acme-notes" })
const doc = syndra.doc("notes/welcome")
doc.subscribe((note) => render(note))
doc.update((note) => {
note.title = "Hello, Syndra"
})That’s it. No websockets to manage, no retry logic, no merge conflicts.
Why Syndra
Local-first
Reads and writes hit a local replica first, so your UI never waits on the network.
Conflict-free
CRDT-based documents merge concurrent edits deterministically. No lost updates.
Works offline
Changes queue while offline and sync automatically when the connection returns.
Presence built in
Show who’s online, where their cursor is and what they’re selecting.