ActivityPods: adding intelligence to Solid PODs with ActivityPub

I’m glad to announce the release of ActivityPods, a new kind of architecture for web applications which aims to reconcile the ActivityPub and Solid standards.

You can see the initial proposal here:

It can be summarized in one image:

The ActivityPods implementation is based on the SemApps toolbox, which aims to provide all you need to develop semantic applications. I’m also a core developer of SemApps since 2019.

I know there have been many discussions on this forum and on ActivityPub forum about this topic (in particular here and here). I don’t pretend to have the only solution, but I’m glad to have something working well and that could, I think, fit the needs of many projects.

I will open source a working frontend soon. It allows to create private events and invite friends, with the boilerplate of ActivityPods as the only backend.

All feedbacks are very much welcome ! :slight_smile: Please be patient as some things are not perfect yet and I plan to improve a few things in the coming weeks. But I thought it would be interesting to post this before the holidays.

I’ve cross-posted this message on the ActivityPub forum as well.


Very cool to see this combination of technologies coming together. I created additional cross-refs between communities in the AP +Solid threads, and also added your project to the ActivityPub Developer Resources watchlist. Note that there’s no license yet, so it is technically proprietary software.

(PS. The developer watchlist and application watchlist may move location soon, as Feneas may be shutting down).

1 Like

Thanks !

Ah the licenses were on the packages. I’ve added a license to the repo root (it is Apache 2.0)


I also wanted to point out that ActivityPods are not fully Solid-compliant yet.

For example, it is not possible for an user to create a new container on his POD, only applications can do that.

Furthermore, Solid-OIDC is not supported yet: we use local accounts and, to be able to authentify an user on another server, we use HTTP signatures along with a proxy (both are defined in the ActivityPub protocol).