Besides the other answers, it trivializes them while making you put forth the tiniest effort towards one you might care about while you can discard the rest. The trick with phones isn’t in picking it up to look, but rather on putting it back down.
There exists ActivityPub library implementations in golang, just sayin’. It’s a big lift to start anew but at least the low end protocol is there and golang is a good mature language for productivity and security.
DB is going to be to bottleneck and I’d build on ScyllaDB (or Cassandra) in a heartbeat. ScyllaDB on a single node is quite well behaved and auto-tuning, but from there these two can scale globally with scaled writes everywhere. I always architect with active/active in mind because at some point for some reason you need multiple sites even for just disaster recovery.
Inverse Murphy’s Law dictates that if your disaster recovery plan is top notch, tested, rehearsed, refined, and you flip to the alternate site on a schedule then you’ll never ever need it for real.
Controller: Witcher, Cyberpunk, Senua’s Sacrifice, Shadow of War/Mordor
Mouse and Keyboard: Diablo, things that end in “Craft”
HOSAS: Flying things