Build collaborative systems
that converge
Build collaborative, offline-first, and distributed applications without designing your own synchronization, conflict resolution, replay, or replication layer. NodalMerge is a local-first distributed state engine: write locally, merge concurrently, converge deterministically, with full audit-grade replay semantics.
294,521 ops/sec
Native Rust core — real-world 259,778-edit editing trace, hash-linked DAG, per-character identity, policy checks all included.
119,482 ops/sec
Same engine, same trace, running in-browser via WASM — try it live in the Engine benchmark demo.
27,110 ops/sec
Same browser run, with an Ed25519 signature on every operation — the integrity work most CRDT libraries skip entirely.
See benchmarks/text-engine-performance for methodology, environment, and how to read these numbers safely.
- Frontend developer
- Backend / operator
- Platform team
Install the SDK
Connect a room
Read and write synced state
JavaScript SDK
SDK overview
Subscriptions
Collab text playground
Deterministic CRDT merge
All peers converge to the same canonical state regardless of write order or network partitions.
Replay-grade history DAG
Every change is a node in an append-only DAG. Replay any window, branch, or ancestor state on demand.
Full offline queue
Writes queue locally while disconnected and flush deterministically on reconnect — no data loss.
Authority-scoped policies
Lock write authority to specific key paths and peers. Policy violations are rejected, not silently dropped.
RGA collaborative text
Character-level RGA with tombstone semantics, anchor-based positioning, and per-glyph attribution.
Canonical projections
Register query specs, build paginated projections at any checkpoint, and invalidate on schema change.
Architecture
Protocol
SDK
API and commands
Operators
Benchmarks
Guides
Tutorials
Five interactive playground apps
Run the quickstart
Follow the first-hour onboarding path
Explore the interactive apps
Read the architecture fundamentals
Configure your production baseline