September 14, 2026
Importance of Open Social Web
Federation and the Open Social Web
Web Village makes your website a part of the open social web: link to the Fediverse with a followable ActivityPub actor (WebFinger discovery, HTTP-signature–signed requests, Follow/Accept, an outbox that delivers each new post to every follower's inbox), Bluesky / AT Protocol cross-posting over XRPC, and pulls from many RSS/Atom feeds into one stream. The roadmap adds inbound engagement — replies and likes pushed from the fediverse inbox, pulled from Bluesky notifications.
each request signed · in parallel · retrying on its own · one dead server blocks nothing
Every one of these is the same shape: concurrent I/O, fan-out, retries, scheduling, and caching. Delivering a post to hundreds of inboxes is hundreds of isolated, supervised, individually-retrying jobs. Fetching dozens of feeds in parallel and warming an ETS cache off the render path is idiomatic, not exotic. This is precisely the problem Erlang was built to solve — many concurrent, independent, fault-tolerant connections.
On Rails or PHP the same features mean standing up a queue, a broker, and careful hand-written concurrency. On the BEAM it's the natural grain of the runtime — which is why a small team could ship an ActivityPub outbox, a Bluesky client, and a feed aggregator in the same codebase.
