3 ms·
CRDTs and HLCs often feel like over-engineering. In most business/management apps, it’s rare for two people to edit the same piece of data at the exact same tim
by SamLeBarbare 1y ago
CRDTs and HLCs often feel like over-engineering. In most business/management apps, it’s rare for two people to edit the same piece of data at the exact same time.
A simpler approach works surprisingly well:
Store atomic mutations locally (Redux-like) in SQLite.
Sync those mutations to a central server that merges with last-writer-wins.
Handle the few conflicts that do occur through clear ownership rules and some UI/UX design.
This makes local-first behave more like Git: clients work offline, push their “commits,” and the server decides the truth. Most of the complexity disappears if the data model is designed with collaboration and ownership in mind.
- kobieps 1y agoAgreed @ overengineering for most use cases. Still, where a simpler approach gets tricky is if you only want to sync a subset of the backend database to any client's SQLite