About
The story behind Flickerdocs
I built this real-time collaborative editor with no central server and no AI in the loop — just a CRDT and WebRTC.
I wanted to code without a framework. To feel the code and the computer the way it was in the 1970s, when C and Unix were new and programs talked directly to the hardware. The interest is in zeros and ones — not the framework-of-the-month that everyone learns and then forgets where any of it came from.
Who I am
I'm Chinmay. An engineer at heart. I work on problems that help us evolve as human beings — the ones that start with zeros and ones, not the framework-of-the-month.
Why I built this
- Reading distributed-systems papers is one thing. Building one is another.
- I wanted to understand CRDTs from primitives — not by reaching for Yjs.
- Real-time collaboration without a central server is one of the genuinely hard problems. Worth picking.
What I learned
- Version vectors track causality, not position. Position is what fractional identifiers do.
- Fractional identifiers + siteIds make concurrent inserts at the same position resolve deterministically — no coordinator needed.
- The math is the easy part. Making remote cursors glide smoothly while the doc underneath is being edited by someone else is the hard part.
Tech stack
- CRDT — custom Logoot-family fractional identifiers + version vectors
- WebRTC via PeerJS for peer-to-peer transport
- CodeMirror 5 as the editor surface
- Express + Pug for serving + signaling
- Vanilla JS — no React, no framework, no build assist
For a real product I'd reach for Yjs. I built this to understand the primitives — not because I'd ship this exact code. Knowing the design space matters more than the code.
Inspiration
Flickerdocs was inspired by Conclave — an open-source collaborative editor built by the Conclave team. Their implementation of Logoot-family CRDTs over WebRTC is what made me want to go deeper into the primitives myself.
Find me
- GitHub: @chinmay4o
- Twitter / X: @chinmay4o
- LinkedIn: /in/chinmay4o
- Email: chinmayinbox8@gmail.com
The repo
Open source.