Hey Jonas,

I think your analysis of what (some) users need is a good one.

We've discussed this before so I know you prefer your current approach, but I personally would take a slightly different path to reach the same end:
  1. Support serving of SPV wallets from pruned storage. This means some protocol upgrades, BIPs, etc. It helps all SPV wallets, including on phones.
  2. Then make a bitcoinj based desktop wallet app, that contains a bundled bitcoind.
  3. Make the app sync TWO wallets simultaneously, one from the P2P network as today, and another from the local bitcoind via a local socket (or even just passing buffers around internally)
  4. The app should then switch from using the wallet synced to P2P to the wallet synced to localhost when the latter is fully caught up, and back again when the local node is behind.
  5. If there's a discrepancy, alert the user.
There are big advantages of taking this path! They are:

If you want a thing that runs a home server, then the best way to do that IMO would be to bundle Tor and make it auto-register a Tor hidden service. Then you can just define a QR code standard for 'pairing' a wallet to a .onion address. Any bitcoinj based wallet can sync to it, and as it's your own node, you can use a Bloom filter sized to give virtually no false positives. No additional indexing is then required.