Event

Event
09:00
-
09:30
Day 2
Local-First in Production: How We Built Plane's Collaborative Wiki with Yjs
K.3.201
English
<p><a href="https://github.com/makeplane/plane">Plane</a> is an open source project management tool used by thousands of teams. A year ago, we shipped Wiki — a collaborative documentation system built on Yjs with real-time editing, offline support, and version history.</p> <p>Yjs is remarkable. Kevin Jahns and the community have built something incredible — real-time sync, conflict resolution, offline editing, all handled elegantly. But integrating a powerful library is just the start. This talk is about what comes after.</p> <p>I'll cover the production challenges we solved building on top of Yjs, the crux of it would be around: </p> <ol> <li>Server-side edits — making backend mutations (AI, automations, database state sync in case of subdocuments) coexist with live client editing without users feeling out of sync</li> <li>Scaling the sync layer — infrastructure decisions for thousands of concurrent documents with awareness working as expected.</li> <li>Large document performance — what breaks when documents get massive, and how we fixed it without breaking our servers, horizontally scaling sticky ws connections.</li> <li>Version history — snapshots and visual diffs using StateVectors and the StructStore (deep-dive: palanikannan.com/blogs/version-history-and-snapshots-in-yjs) and what works at scale! </li> <li>Offline-first in practice — making "syncs when you're back" actually reliable, especially say when you open your tab that chrome killed due to inactivity :p</li> <li>Permissions and reacting to them in realtime, inline comments sync and so much more!</li> </ol> <p>Plane is <a href="github.com/makeplane/plane">fully open source</a> with 38k+ stars and a vibrant OSS community. Real problems, real code, no theory slides.</p>