become our partner

Collaborative editing at scale

The talk was accepted to the conference program

Artem Bakuta



Collaborative editing has become a huge part of our daily lives. Whether it's writing code in IDEs, collaborating on documents using Google Docs, creating diagrams on Miro, conducting job interviews, or even making grocery lists, collaborative editing becomes the backbone of modern communication and productivity.

However, creating a collaborative service that can handle high load and maintain consistency is not an easy task. That's why two approaches, CRDT and Operational Transformation, have emerged as the go-to solutions. But how do you decide which approach to choose? What are the challenges of creating a collaborative service that can handle high rps? And what are the limitations of collaborative editing?

These are all important questions that I'll be answering in my talk. I'll provide practical insights on how Yandex built its collaborative engine and addressed these problems. You'll learn everything you need to know about collaborative editing and how to make it reliable and lightning-fast in this presentation!

Moreover, I'll be diving into the advantages of using CRDT over Operational Transformation, which allows for decentralization, flexibility, and usability, as well as how Yjs is a fast and efficient implementation of CRDT. Additionally, I'll be discussing the impact of latency on the collaborative editing experience and how to ensure that not a single character is lost.

And lastly, I'll be covering how to ensure the availability of the collaborative engine using Node.js, as well as the challenges of implementing a fault-tolerant system. You'll also learn about our experience of using the engine in production and how it performed.

So, join me in exploring the exciting world of collaborative editing, and discover how CRDT can make it more robust and easy to maintain.