// the find
bonfire-networks/bonfire-app
Bonfire - tend to your digital life in community. Customise and host your own online space and control your experience at the most granular level.
Bonfire is an Elixir/Phoenix framework for self-hosted, federated social spaces built on ActivityPub. It ships as a set of composable extensions that instance operators can mix and match — different 'flavours' bundle different extensions for social networking, community coordination, open science, or cooperative economics. It's for developers and communities who want to run their own fediverse node with more control than Mastodon gives them.
The extension architecture is genuine, not cosmetic — each feature lives in its own repo with its own schema, and the flavour system lets you ship a meaningfully different product without forking core. ActivityPub federation is a first-class concern, not an afterthought, and the boundary system (per-post, per-circle access control with composable presets) is more expressive than anything Mastodon offers. The tech stack is well-chosen: Elixir's concurrency model handles fediverse fan-out better than most alternatives, and LiveView keeps the UI reactive without a separate JS framework. NLnet/NGI funding means it has survived the 'open source social network graveyard' longer than most, with ongoing development to show for it.
Surface UI is a bet that hasn't paid off — it's a thin abstraction over LiveView that adds a DSL most Phoenix developers don't know and that the broader community has largely passed on in favor of vanilla LiveView or LiveView with HEEx. The multi-repo extension model is painful in practice: debugging a feature means tracing across 5+ repos, and getting a dev environment running requires understanding which flavour you want before you can even start. Most flavours are still alpha or pre-alpha; only the Social flavour has reached 1.0 RC after six years of development, which suggests the ambition (cooperative economics, open science) significantly outruns the execution bandwidth. Self-hosting claims to be beginner-friendly but realistically requires comfort with Elixir releases, Docker networking, and the flavour/extension mental model before you get anything running.