We build the one percent of digital products.
ShocoDoc
Teams still work by mailing versions of the same file to each other. Feedback lands in three inboxes, edits land in two forks, and nobody can say which copy is current. ShocoDoc replaces that with a single live document where the editing, the discussion, and the permissions all live in the same place.
Live cursors are the easy half of collaborative editing and the half everyone shows off. The hard half is everything that has to hold up around them: who this person is, what they are allowed to do, where a comment lives when the sentence it referred to gets rewritten, and what the document looks like after somebody's laptop sleeps mid-sentence.
Get those wrong and real-time is worse than email. At least with email you know which copy you are holding.
We split the system along the line that matters. Identity and access are owned by the application: it authenticates the user, resolves their role on a given document, and issues authorization before anyone can enter a document session. Presence and shared editing are owned by the real-time layer, which receives only the identity and permissions it needs to do its job.
That boundary is why the product stays honest under load. A late notification or a dropped comment panel cannot corrupt the document, and a client that thinks it has edit rights cannot get them by asking the browser nicely.
“A disabled toolbar is a courtesy, not a permission. Every sensitive action is checked again on the server.”
Sharing uses three roles and nothing more. Owner controls sharing and deletion. Editor changes content and joins discussions. Viewer reads and sees who else is present. An owner invites people by email address and picks the role at the moment of invitation, so the decision is made once, in the place it is made naturally, rather than in a settings screen nobody visits.
The editor itself is deliberately plain: headings, bold, italic, underline, strikethrough, alignment, undo and redo. Discussion sits beside the text as threads rather than inside it, so a conversation about a paragraph survives the paragraph being rewritten. Mentions pull a specific person into a specific thread and drop the result into their notification inbox, which is what actually replaces the email that used to carry the file.
ShocoDoc ships as a working collaboration product: multiplayer editing with presence, threaded comments with mentions, an owner and editor and viewer model enforced server-side, an in-app notification inbox, and account settings including linked sign-in providers.
The test we held it to was not a screen recording of two cursors. Two people edit, comment, lose their connection, and come back, and both can explain what happened to the document. That is the bar collaborative products have to clear before the live cursors mean anything.
A monthly dispatch on design, engineering and the craft of shipping. No fluff. Unsubscribe anytime.