Skip to content

STF 2025–2026 Milestone 5 completion report #734

@dahlia

Description

@dahlia

Now that the work for Milestone 5, “Comprehensive Documentation and Examples,” is complete, we need to prepare and submit a progress report to the Sovereign Tech Agency as stipulated in our service agreement. This report is a prerequisite for invoicing the fifth milestone payment.

The task is to create a document that summarizes the work done and provides evidence of completion. According to the reporting guidelines, this can be achieved by collating links to all relevant commits, pull requests, and other source code management actions. Once the report is finalized, it will be sent to our program manager.

Milestone scope

Milestone 5 called for creating a comprehensive library of tutorials, examples, and community resources to make Fedify accessible to developers with different backgrounds and use cases. The contract specified six categories of deliverables (a–f), all to be published at https://fedify.dev/ and @fedify-dev:

  • a) Specialized tutorials for common scenarios: federated blogs, social networks, and content sharing platforms
  • b) Complete working example repositories as companions to each tutorial
  • c) Custom collection dispatcher examples covering pagination, filtering, and authorization patterns
  • d) An awesome-fedify list showcasing real-world projects and helping developers discover inspiration
  • e) Migration guides for developers transitioning from other ActivityPub libraries
  • f) Best practices guides for production deployments

All of this work shipped in Fedify 2.2.0 (released April 28, 2026). The deliverables actually produced are:

  1. Three scenario tutorials, each paired with a standalone example repository under the @fedify-dev org:

    • Building a federated blog: an Astro + Bun blog where publishing a post and deploying the site are the same operation. Covers @fedify/astro, actor setup, follower management, SQLite persistence, and Create/Update/Delete(Article) activities on deploy. Companion repository: fedify-dev/astro-blog.
    • Building a threadiverse community platform: a Lemmy-style discussion platform built on Next.js (@fedify/next) and PostgreSQL. Models communities as Group actors, top-level threads as Page objects, and covers community-side Announce redistribution to subscribers. Companion repository: fedify-dev/next-threadiverse.
    • Creating an image sharing service: a Pixelfed-style image-sharing application built on Nuxt (@fedify/nuxt) and PostgreSQL. Covers multi-user actors, image-bearing Create(Note) with attachment arrays, Announce/Undo(Announce), Like/Undo(Like), and home and local timelines. Companion repository: fedify-dev/content-sharing.
  2. Custom collection dispatcher tutorial: a personal bookmark log built on Hono (@fedify/hono) and Deno demonstrating three dispatcher patterns—cursor-based pagination with setCounter, URI-template parameter filtering, and requester-aware authorization via HTTP Signatures. Companion repository: fedify-dev/bookmarks.

  3. fedify-dev/awesome-fedify: a curated list of services, libraries, example repositories, tutorials, videos, and community resources built around Fedify, including the production deployments of Ghost, Hollo, Hackers' Pub, Encyclia, and SiliconBeest.

  4. Migration guides from other JavaScript ActivityPub libraries: a Migrating to Fedify section on fedify.dev covering migration from activitypub-express (apex), @activity-kit/*, hand-rolled Express/ActivityPub code (including express-activitypub descendants), and the activitystrea.ms vocabulary library. Each guide covers mental-model mapping, code-level rewrites, and preservation of actor key pairs, follower/following collections, and in-flight queue state.

  5. Production deployment documentation: the existing single-page deployment section was reorganized into a top-level Deployment nav category on fedify.dev. New and rewritten pages cover runtime and platform selection, traditional server deployments (Node.js, Bun, Deno), Cloudflare Workers, Deno Deploy, security hardening, reliability, and observability in production.

  6. Pragmatics reference: a dedicated reference documenting the de facto norms of the fediverse—how Mastodon, Misskey, and other widely deployed implementations use ActivityPub vocabulary in practice. Covers Person profile fields (avatar, header, display name, bio, links), post representation, audience addressing, and other conventions that are required for correct interoperability but absent from the formal specification.

Releases

All work for this milestone shipped in a single release:

Related issues and PRs

Tutorials and example repositories

Migration guides

Production deployment documentation

Pragmatics reference

Awesome-fedify list

All technical details, code changes, and completion evidence can be found in the linked resources and in the release discussion at
#733.

Metadata

Metadata

Assignees

Labels

examplesExample code relatedtype/choreBuild, configuration, and maintenance taskstype/documentationImprovements or additions to documentation

Type

Projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions