- The app is cached by a service worker, so it opens with no network.
- Every edit is stored on the device at once, and a copy goes into a queue.
- When the network is there, the queue is sent. The server keeps every change and answers with the changes from other devices since the last sync.
- Each field is stored with the time of its change. The newest change wins on the server and on every device, so an edit made offline is kept unless someone changed the same field later.