Database server to synchronize vast collections of CRDT documents
Yjs is a Conflict-free Replicated Data Type (CRDT) which enables developers to build collaborative applications, just like Google Docs and Figma. Most CRDT implementations work just like any other data type, but they automatically sync with other peers without conflicts. Today, Yjs is among the most used technologies for building collaborative applications.
The developers observed the development of competing CRDTs, and recognize the need for more specialized CRDTs for specific use-cases. Syncing many CRDT instances with different permissions is still an unsolved problem. Syncing documents individually quickly becomes infeasible with an increasing number of documents in a local-first app.
This project will therefore develop Titanic, an isomorphic database (works in the browser, Node.js, Deno, Bun, ..) that can host different CRDT implementations. It will sync many CRDT instances efficiently in a network-agnostic manner. While it will support custom authentication approaches, Titanic will ship with a role-based document-level permission system that prevents unauthorized users from reading or writing documents.
This project was funded through theNGI0 Core Fund, a fund established byNLnet with financial support from the European Commission'sNext Generation Internet programme, under the aegis ofDG Communications Networks, Content and Technology under grant agreement No101092990.