Automerge + Keyhive Design Overview
Automerge is a mature library for building local first applications by enabling version control for structured data.
Design Principle : You should always be able to use some server to communicate. : You should never be required to use any particular server. : A server should never be able to do anything more dangerous than refuse service.