Or, you can use any of the many community projects which handle all this backend stuff and provide it as a service.
Either extreme works. I love the indieweb set of protocols for this. Other things like ActivityPub require active interaction for the cryptographic handshake at a minimum and make simple solutions infeasible despite other benefits. Indieweb can be as complex or as simple as you want.