2026/08/09 –, TR411
ActivityPub servers can communicate with each other through the ActivityPub protocol, but their application APIs are not uniform. A client, bot, or integration that works with one server implementation often needs separate adapters, authentication handling, data mapping, and error handling to support another.
This talk introduces ActivityPlug, a library and proxy API server that wraps different ActivityPub server APIs behind one consistent interface. The project is designed for developers who want to build tools for the Fediverse without binding their code to a single server implementation.
ActivityPlug can be used in two modes. As a proxy API server, it exposes GraphQL and HTTP APIs that applications can call from any runtime environment. In the JavaScript ecosystem, it can also be used directly as a library, without running a separate server. This makes it suitable for web clients, mobile clients built with technologies such as React Native, bots, automation tools, and connected services that operate across ActivityPub servers.
The presentation will cover the design problem, the current architecture, and examples of how ActivityPlug normalises server-specific APIs into one unified interface. It will also show how a shared API layer can reduce the cost of building tools for the Fediverse: a client or service can target ActivityPlug once, then support multiple ActivityPub server implementations through adapters.
The goal is not to replace existing ActivityPub servers or define a new social protocol. ActivityPlug is a practical compatibility layer for application developers. By making server APIs easier to work with, it aims to help more people build clients, bots, bridges, moderation tools, analytics tools, and other services on top of the Fediverse.
Haze is a software engineer interested in open source projects, the Fediverse, and developer tools. He created ActivityPlug and mainly contributes to the iOS client for HackersPub, a Fediverse-based developer community. His professional work focuses on software development in the healthcare and medical domain. He is also involved in awareness activities in South Korea for migraine and other headache disorders.