Overview: Forem is an open source platform designed to empower communities by enabling users to create discussion-based platforms similar to dev.to. Built with Ruby on Rails and transitioning to a Preact-first frontend, it provides the infrastructure for developers, enthusiasts, and organizations to host forums, publish articles, build user profiles, and foster constructive dialogue. Originally created to power dev.to, Forem is now available for anyone to self-host and customize for their own communities—whether for technical teams, fanbases, or professional networks. Its modular architecture and active open source development make it ideal for teams seeking a self-hosted alternative to commercial community platforms.
Forem targets developers, DevOps teams, and community managers who want full control over their platform’s data, design, and moderation tools. With robust documentation, automated Gitpod/Ona environments for quick setup, and a clear contributor pathway, it lowers the barrier to entry for deploying community-driven platforms without relying on third-party SaaS solutions.
What You Get
- Self-hosted community platform - Deploy a fully functional dev.to-like platform with user profiles, article publishing, comments, and upvoting on your own infrastructure.
- Ruby on Rails backend with Preact frontend - Modern stack combining a mature Rails API with a component-based Preact interface for scalable, responsive UI development.
- Gitpod and Ona one-click environments - Instantly launch a fully configured Forem development environment with all dependencies pre-installed via Gitpod or Ona.
- Built-in moderation and community tools - Includes user reporting, content flagging, and admin dashboards to manage discussions at scale.
- Extensible via open source contributions - Actively maintained with clear contribution guidelines and issues labeled ‘ready for dev’ to onboard new contributors.
Common Use Cases
- Building a developer blog and forum - Organizations like dev.to use Forem to host technical articles, comments, and user profiles for a global audience of developers.
- Creating an internal engineering knowledge base - Engineering teams deploy Forem to enable engineers to document solutions, ask questions, and share best practices in a structured forum.
- Problem → Solution flow: Needing an alternative to Discourse or Reddit for branded communities - Organizations tired of platform limitations or data restrictions use Forem to self-host a customizable, open source community with full ownership of content and user data.
- Team/workflow scenario: Open source project maintainers building community around their tool - Maintainers of Ruby, Rails, or open source projects use Forem to create a dedicated space for users to ask questions, submit feature requests, and share tutorials.
Under The Hood
The Forem project is a comprehensive Ruby on Rails-based web platform designed for community-driven content management, supporting features like articles, comments, reactions, and advanced workflows such as AI chat and video processing. It combines a traditional monolithic architecture with modern frontend technologies to deliver a flexible and scalable content ecosystem.
Architecture
This system follows a structured monolithic Rails architecture with clear separation between backend services and frontend components. It emphasizes modular design patterns and uses worker-based job processing for asynchronous tasks.
- Uses a traditional MVC pattern with extensive controller and model organization
- Implements middleware for request handling and background job processing via Sidekiq
- Organizes code into distinct domains such as users, articles, and reactions with clear component boundaries
- Integrates frontend JavaScript components with backend Ruby services in a cohesive structure
Tech Stack
Built on Ruby on Rails with a modern JavaScript frontend, the project leverages a rich ecosystem of tools and libraries to support its functionality.
- Employs Ruby on Rails as the core backend framework with extensive gem usage
- Features a JavaScript frontend powered by Preact and modern build tools like esbuild and Babel
- Integrates testing frameworks including Jest, Cypress, and RSpec for full-stack coverage
- Utilizes asset management tools like Webpack and Sprockets alongside modern transpilation pipelines
Code Quality
This project demonstrates a mature development approach with strong emphasis on testing, linting, and structured error handling.
- Comprehensive test suites across multiple frameworks ensure reliability and maintainability
- Consistent use of try/catch blocks and structured exception handling improves robustness
- Code linting and CI/CD pipelines are configured to enforce quality standards
- Naming conventions and modular organization support long-term code sustainability
What Makes It Unique
Forem stands out through its integration of specialized workflows and developer-centric features that extend beyond typical content management systems.
- Includes a dedicated video processing pipeline with encoder key validation and upload completion notifications
- Implements an admin policy system that links controller actions to documentation for improved onboarding
- Features scheduled automation for badge achievements with configurable criteria and frequency settings
- Incorporates AI chat and image generation controllers that expand content creation capabilities beyond standard CMS features