Reminds me of my own attempt to design a decentralized networking protocol FOSP (https://github.com/maufl/fosp-specification). I now think that a peer to peer solution would be more user friendly, it's sometimes difficult to explain to some of my peers that there can be a difference between an app and an service.