Back to Experiments

CRDT Editor

Collaborative text editing without coordination. Each character is a node in a Replicated Growable Array — concurrent inserts converge deterministically by vector clock.

WebAssemblyRustRGA CRDTSurrealDBWebSockets

WASM CRDT

The RGA algorithm runs in Rust compiled to WebAssembly. Each op returns a JSON message ready to broadcast.

Sync server

An Axum WebSocket server persists ops to SurrealDB and rebroadcasts them to every connected tab.

Offline first

If the server is unreachable the editor keeps working. Ops queue locally and flush when the connection resumes.

loading WASM module…
ZEYAD
DEEB