Jacobin × Bonfire — Case study

From audience
to community

This independent publisher wanted more than a comment section. We connected Ghost and Bonfire and gave their writers and readers a next-generation federated community space.

Marx reflected in a mirror

jacobin.social - a community space its readers own

Client
Jacobin (German-language edition)
Sector
Independent media / publishing

Our work

Co-design

  • Community research
  • Requirements & workshops
  • Training & support

Product & design

  • UX & UI
  • Boundary system
  • Onboarding flows

Engineering

  • Ghost integration
  • Comments widget
  • Membership sync
View live site ↗

The challenge

It all started with a crowdfunding campaign, which the readers of Jacobin's German-language edition backed with a clear demand: not just a nicer website, but a place where they could debate, organise, and build solidarity together, to go beyond an audience that reads the same articles and become a real community.

A traditional comment section wasn't going to cut it, and neither was pointing readers to yet another platform owned by Big Tech. Jacobin wanted a community space of their own, with the ability to connect to the wider open social web.

Our approach

This is part of an initiative we call Bonfire Mosaic: we work with a community to design a space around how they actually work, and everything we build is free software that contributes to the commons. Jacobin wanted to use Ghost's publishing tools but tightly integrated with a community space. The goal was not to replace the CMS, but to integrate a federated social layer to where the team already works.

Nothing here is Jacobin-specific and locked away. It's a reusable foundation any publisher can adopt.

“Choosing Bonfire wasn't just a technical decision, it was a fundamentally political one. We wanted a platform that couldn't be switched off by a foreign government or bought out by a billionaire. That's exactly what we got: Bonfire built not simply for us, but with us, and the result belongs to our readers as much as it does to us.”
— Magdalena Berger, Jacobin DE
Read what they said ↗
Bonfire Mosaic / What we built

Three pieces,
one integrated
experience

Through several rounds of co-design we built the publishing bridge, the conversation layer, and the community spaces. Each usable on its own, but designed to work as a single seamless whole. Together they turn an audience into a community that debates, organises, and belongs.

  • 01 Publishing: a deep Ghost ↔ Bonfire integration
  • 02 Engagement: federated comments on any page
  • 03 Community: intentional spaces & governance
Jacobin artwork introducing the community space
01

Publishing

A deep Ghost ↔ Bonfire integration

Jacobin kept the Ghost workflow its editorial team already knew. We developed an open-source Bonfire extension around it, connecting publishing, membership, access and conversation without asking the team to maintain the same information twice.

Articles stay in sync

Jacobin's archive can be imported in the background, while new articles and later edits arrive automatically. Titles, images, excerpts, dates and canonical links come across; unpublishing and republishing are reflected too.

Membership becomes the sign-in

Readers use the email address they already have with Jacobin. Ghost confirms their membership and Bonfire sends a one-time sign-in link, so there is no second password or parallel member list to manage.

Tiers carry their access with them

Ghost's public, member and paid visibility settings map to Bonfire boundaries. Membership tiers become circles that can unlock articles, discussions and private community spaces.

Every article opens into the community

Imported articles land in the group or topic Jacobin chooses. The embeddable comments widget connects the original Ghost page to that durable, federated discussion in Bonfire.

Explore the full Ghost integration →
A Jacobin article shown on the publication and in its Bonfire community
One publishing flow. A Jacobin article automatically appears in Bonfire with its authorship and access rules intact, ready for discussion and sharing.
Jacobin-branded single sign-on screen
One member identity. Readers sign in with the email address Jacobin already knows, using a secure one-time link.
Ghost articles imported into Bonfire with publication details and access settings
Access follows the article. Public, member-only and paid content keeps the right visibility when it reaches the community.

Doesn't Ghost already federate?

Ghost has the ability to broadcast articles into the fediverse and pull replies back. That's a great start. But Jacobin wanted to go further: a structured community space with groups, topics, polls, and specialised moderation and governance tools. Each tool does what it does best: Ghost publishes, Bonfire hosts the community.

02

Engagement

Where the conversation lives

Ghost gives every article a comment thread. Jacobin wanted those threads to belong to something larger.
We built an embeddable widget that ties a discussion to each article, but the discussion doesn't live in a box under the page. It lives in the community, inside groups and topics, alongside everything else being discussed there.
That changes what a comment is. A thread stays discoverable long after the article scrolls off the homepage, and a conversation that outgrows its article can keep going in the group where it belongs. It's conversation with a place to go, not a comment section that fills up and empties out.

Jacobin-branded single sign-on screen
Real discussion. Nested, boostable, upvotable threads, not a flat comment box bolted onto the page.
Jacobin-branded single sign-on screen
Cross-network. Readers can join the conversation from Mastodon, other Bonfire instances, or Bluesky via bridging, and all replies appear together on the article page.
03

Community

Intentional spaces, not a noisy feed

Jacobin didn't want its community lost in a noisy feed or for an algorithm to decide what surfaces. They wanted intentional spaces organised around groups and topics, organised and governed by the community itself.

A Jacobin group organised around topics
A space of their own. A Jacobin group, organised around topics rather than a single noisy feed.
Group boundary presets — public, announcement-only, private, circle-restricted
Flexible boundaries. Public groups, announcement-only spaces, private invite-only rooms, or circle-restricted groups.
Group boundary presets — public, announcement-only, private, circle-restricted
Topics & following. Organise discussions by topic; follow a group or topic to get updates without visiting each page.
Group boundary presets — public, announcement-only, private, circle-restricted
Ad-hoc widgets. Tailor the experience with custom widgets that fit the community's needs and highlight the most relevant data.

Co-design

A space that looks and feels like Jacobin, not like a generic platform

The features matter, but so does ownership of the experience. Through co-design with Bonfire Mosaic, we tailored the entire space to Jacobin's identity, so members feel they're home, not on a Big Tech platform or off-the-shelf SaaS app.

A Jacobin group organised around topics
Jacobin-branded avatar set — illustrated portraits in the red identity
Jacobin-branded avatar set — illustrated portraits in the red identity
Jacobin-branded avatar set — illustrated portraits in the red identity

Co-designed, not configured

We didn't just hand over a settings panel or ask for a CSS file. We ran research and workshops with the Jacobin team to shape the space around how their community actually works and feels.

Their identity, through and through

Colours, typography, iconography, layout, and tone: the experience wears Jacobin's brand throughout, delivered as a distinct Bonfire flavour rather than just a theme skin.

In their language

A complete German translation, done in collaboration with their team and contributed to the commons for every German-speaking community that follows.

Line-art figure in a plumed hat holding the world, sun in hand

Why this matters for publishers

Connected with your readers, on your own terms

All of this forms a reusable foundation for other publishers and membership organisations that want a federated social space. The way we integrated Ghost can also be extended to WordPress, Drupal, or any other CMS.

Publishers are starting to explore deeper social integration into their articles. The reason is familiar to anyone whose reach depends on a platform they don't control: rented audiences can be throttled, de-ranked, or lost overnight.

Bonfire offers a different premise. AGPL-licensed, no VC, no ads, no incentive to enshittify the space over time. Every instance federates over ActivityPub, so the community can connect with the open social web on its own terms. And because it runs on infrastructure the publisher controls, the relationship with readers isn't mediated by a third party that can revoke it.

The launch

jacobin.social is live, and their readers now have a community space of their own, not one they rent.

What began as a reader-funded demand for something better than a comments section is now a working foundation other publishers can adopt, adapt, and fork. As the community grows, we'll share what we learn and keep this page updated.

Read what they said ↗

Our role

Co-design

  • Community research
  • Requirements & workshops
  • Governance design

Product & design

  • UX & UI
  • Boundary system
  • Onboarding flows

Engineering

  • Ghost integration
  • Comments widget
  • Membership sync

Hosted by

jacobin.social runs on servers looked after by CoQuest, a hosting cooperative. They maintain the Co-op Cloud recipe that makes Bonfire straightforward for any co-op to deploy, and load-tested the app with us ahead of launch. A publication owned by its readers, on infrastructure owned and operated by workers, not shareholders.

Running Ghost, WordPress, or Drupal?

Thinking about where your community conversation should live? Everything we built for Jacobin is in the commons and available to build on.