If we are going the distributed way, then why not host everything on a blockchain, instead of federating thousands of small instances?

I would be happier with my code distributely hosted on every participating node, rather than federating it on my crappy instance.

Also your wallet can be auth + sign so no need for third party auth layers