I found this GitHub project that implements CRDT (Conflict-free Replicated Data Types) which is a way to synchronize data between users without the need for a server (cloud) using network protocols such as WebRTC and Bluetooth. Think of it as Git but operating with structured data (not only text).
It is an implementation of a concept called local-first software which aims to enable collaboration without sacrificing data ownership.
Another interesting project that enables decentralized collaboration is sharedb, which is based on Operational transformation. ShareDB does require WebSockets which means there is a need for a server.