A local-first app writes to the device first and syncs in the background. The network becomes an optimisation instead of a requirement.

What changes

  • Every action is instant, because it's local.
  • Conflicts become a design problem, not an error message.
  • Your server does less, and fails less visibly.

Conflicts, honestly

Most conflicts are boring: two people edit different fields. Merge those automatically. Show the rare real conflict to a human, with both versions side by side.

Is it worth it?

For notes, tasks and anything people use on a train: yes. For a bank: no.