CoCanvas
A document, shared as it changes.
CoCanvas is a document editor where several people can write at the same time. I’m building it with Yjs, Node.js and WebSocket to support concurrent changes and synchronisation when a client reconnects.
At its core is a CRDT: a data structure designed to merge concurrent changes. Alongside the document itself, the editor handles the presence information that helps people see who else is there.
The core pieces
Editing together
Yjs and a WebSocket connection support concurrent editing. Multiplayer cursors, selections and online status make the shared session visible.
Finding the document again
Snapshots and incremental updates are used to restore a document. Reconnection handling lets a returning client synchronise its state.
Get in touch
Let’s talk.
I’m looking for software engineering, AI application and data internships or graduate roles in Ireland. Questions about my projects are welcome, too.