You could use XMPP but they don’t have any nice clients
[citation needed]
There's at least three good clients for Desktop (multiplatform) and two for Android.
Plus, XMPP is the best thing to run service-wise. Relatively cheap, runs on a potato, not a nu-protocol that requires a server cluster and friggin' npm.