My side project is a personal budgeting web app [0] based on these principles. The technologies to support this type of architecture are available and fairly mature.

For example in my budgeting app:

  - All of the user's budget data is stored client side in IndexedDB
  - Offline support via a service worker
  - Peer to peer synchronization between devices via WebRTC data channel
  - Lightweight IdP server which also handles the WebRTC signalling (via web sockets)
This setup is nice because the user's data never touches the server and very little server side infrastructure is needed (none at all if you don't need data synchronization). One downside with the data sync is that both devices must be online with the app open at the same time to sync, but perhaps this could be improved with web workers?

[0] https://dollero.app

Looks visually quite similar to Actual[0][1][2] (open-source, local-first). Did one influence the other? Are they both inspired by some other budget software?

[0] https://actualbudget.com/

[1] https://github.com/actualbudget/actual

[2] https://github.com/actualbudget/actual/blob/d1e57340b88960d0...