An adventure in realtime collaborative editing
dov.dev · 1,512 words · saved by 4 readers
An exercise in collaborative editing that ends with lots of work to bring native subdocument support to the YJS ecosystem.
Motivation Over the last few weeks I have begun work on a project I am calling Figment . I’m not quite ready to talk about Figment publicly yet but I do want to write up some of the more interesting things I have been working on in the process. One of the core features I wanted in Figment was for multiple users to be able to edit text collaboratively a la Google Docs. It turns out this problem is extremely hard. This post is a brief write up of how I arrived at a robust solution. Prior art I consider myself a pretty competent engineer but I know enough to know what I don’t know. Collaborative
saved by
related reading
- Peritext: A CRDT for Rich-Text Collaborationinkandswitch.com
- Upwelling: Combining real-time collaboration with version control for writers.inkandswitch.com
- Collaborative Workspacesgithubnext.com
- CRDTs go brrrjosephg.com
- Realtime editing of ordered sequencesfigma.com
- Building a BFT JSON CRDTjzhao.xyz
- Idea Listjzhao.xyz
- Potluck: Dynamic documents as personal softwareinkandswitch.com
- The subtle beauty of Durable Objects, and what could be better about them / Moment devlogmoment.dev
- Scaling long-running autonomous coding · Cursorcursor.com
- Yjs | Homepageyjs.dev
- Introducing the collaborative editor built for teams and agentsmintlify.com