Post

I came back from Sync Conf and shocked how many people are building text editors and the struggles they had with yjs. So rather than wait for my cofounder to finish his blog, I’ll just give a quick rundown on what we do for live collab editing.

Moment@moment.dev

Changelog 3 is out. Mostly we were busy with Sync Conf, the American holiday known as veteran's day, and 😱 replacing our frontend state management system. 😱 But we are looking forward to some very big product announcements in the next couple weeks. moment.dev/blog/changel...

We evaluated a lot of frameworks (this was back 2-3 years ago so keep that in mind). As you can tell from our blog, yjs did not cut it for us.

We ended up building a centralized stateful service that optimistically writes with a transaction log. Thats it. Nothing algorithmically fancy. Boring systems stuff.

Tiptap works great for single player or if you don’t expect to have a lot of conflicts. It’s the only solution out there if you want comments out of the box as well. We do expect to have conflicts and have many people to touch Moment docs, so this is the solution we went with that works for us.

Again this is how we did it and I’m sure there are better ways. But this works for us in terms of correctness (and ensuring no data is lost on conflict), performance and operations.