Moving from Last-Write-Wins to Conflict-Free Replicated Data Types is one of the most treacherous architectural migrations a collaborative backend can undertake. For years, Notion relied on a record-level Last-Write-Wins model that masked concurrency issues simply because documents were partitioned into individual block records.
The cracks in that model became catastrophic when introducing true offline support. If multiple clients edit the same block offline or in poor network conditions, naive timestamp arbitration guarantees silent data loss. Notion resolved this by redesigning their core document storage around CRDT algorithms adapted specifically to handle rich text alongside structured block hierarchies.
Decoupling tree mutation operations from intra-block rich text merges requires careful boundary definitions between your storage layers. Getting this right is what separates toy collaborative editors from robust distributed document engines that can survive network partitions without losing user work.



