I find Local First data storage to be an interesting and complex topic. For many kinds of apps, this is the ideal way to build it. But building local first apps is hard, as noted by Andy Matuschak. That thread is full of interesting bits, including flushout, “a distributed data model based on event sourcing written in TypeScript.”
Martin Kleppmann, Annette Bieniusa, and Marc Shapiro have put together CRDT.tech, a website with information and resources about, surprise!, CRDTs. This is an important technology for distributed systems and offering Local First software.