Say you wanted to build a rich text editor, which can't diff-and-merge as easily as with plain text. Instead of using git for version control, you can use CRDTs very similarly by fetching the remote state, merging with local state, and then pushing.
In that sense, you could build local first software with interoperable hosting platforms (like Github for git) [1].
See [2] as an another example but for a budgeting app.
Many eventually consistent databases and storage engines such as Riak use CRDTs internally to allow subsets of nodes to accept updates and reconcile those with updates that were accepted by other parts of the cluster. At the end of the day, there’s no difference between real-time collaboration and a cluster-internal distributed system, other than security considerations and average reliability levels. The convergence of these is going to be a fascinating area of development in the coming years.
Say you wanted to build a rich text editor, which can't diff-and-merge as easily as with plain text. Instead of using git for version control, you can use CRDTs very similarly by fetching the remote state, merging with local state, and then pushing.
In that sense, you could build local first software with interoperable hosting platforms (like Github for git) [1].
See [2] as an another example but for a budgeting app.
[1] https://josephg.com/blog/crdts-are-the-future/ [2] https://actualbudget.com/blog/porting-local-app-web