I find it funny that it starts with email and then proceed to dismiss it in favour of building a bunch of things from scratch.
I have used email as a decentralised messaging protocol for software.
It works just fine, and we got a lot for free, including queueing, retries, federated lookup etc.
And it made debugging so easy: Just Cc: messages, or send messages from your email client.
It underpinned part of the initial infrastructure for the demo registrar platform and the email forwarding for the .name top level domain.