▲ | SamLeBarbare 3 days 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 3 days ago | parent [-] | |
Agreed @ 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 |