For my final year project, I have developed a P2P version of Overleaf, dubbed PeerLeaf using y-webrtc and yjs!
Feature wise is limited at the minute. It supports:
- Files shared via WebRTC between connected Peers using a Map shared type
- Cursor Tracking
- Client Side Compilation (see my forked repo at https://github.com/callum-atwal/texlive.js) which supports LaTeX and BibTeX files
- A basic registration system
There are probably some more things I’ve missed out.
I would appreciate any feedback below! It’s not stable by any means so I’d probably stick to using Overleaf for now but I do have plans to continue working upon some of the features such as using IndexedDB to store local copies of the document and better performance for compilation (WebAssembly has come a long way).
The link is at https://peerleaf.callum-atwal.com/
Hope you enjoy