quoting note157d…x4r8Nostr clients are perfect examples of software that should prioritize a local-first approach. However, many Nostr developers still write software as if there's a reliable backend. But in a decentralized network, there isn't one. It's essential to maintain a local state and only synchronize this local state with the relays when necessary.
https://www.inkandswitch.com/local-first/static/local-first.pdf
https://github.com/evoluhq/evolu