What changed after launch
Conflict dialogs disappeared, and weekly active editors per workspace doubled.
- React
- TypeScript
- CRDT
- Vite
Key figures
- Sync latency
- 45ms
- Notes / workspace
- 10k
- WCAG level
- AA
Web App
A collaborative markdown knowledge base with real-time editing and a graph view of linked notes.

Teams edited the same notes at the same time and lost changes with every conflict dialog.
The editor also had to stay fully usable with a keyboard and a screen reader.
How it was built
Six phases from the first conversation to the release. The bar shows how the time was split.
Editors described the moments their changes collided; each one became a sync test case.
Data model, rendering strategy and API contracts were agreed before the first screen was drawn.
A component inventory and responsive layouts, built entirely from design tokens.
Features went live in small slices behind flags, with typed boundaries between client and server.
Unit, end-to-end and accessibility checks ran on every pull request.
Every branch got a preview environment; the production rollout was a single click.
Conflict dialogs disappeared, and weekly active editors per workspace doubled.
Outcome

Conflict dialogs disappeared, and weekly active editors per workspace doubled.
Key figures
Each note is a CRDT document synchronised over WebSockets with presence data on a separate channel.
The graph view is rendered on a canvas but mirrored as an accessible list, so every link is reachable by keyboard.
Next project
Keep exploring