Yjs is a shared editing framework. It exposes Shared Types that can be manipulated like any other data type. But they are synced automatically!
Automatic Syncing
All interactive elements on this website are built with shared types. There are many extensions available for binding shared types to editors like ProseMirror, Quill, and CodeMirror.
Offline Support
No waiting for slow connections. The shared data can be stored in a local database (e.g. indexeddb) and will be available right away. Render the information you have and sync later.
Peer-to-Peer
Even if you don't build a peer-to-peer network, decentralized systems are faster, easier to scale, and more fault tolerant.
Demos
Open this website in several windows and observe how the content syncs. This website, including the examples, is offline ready and connects to other peers over a peer-to-peer network using y-webrtc. The data is automatically synced when you reconnect to the internet. There are many more demos in the yjs-demos repository.