Forem is an open source Ruby on Rails application designed to help organizations and communities create their own developer-focused social networks. It solves the problem of fragmented technical communities by providing a unified platform for publishing articles, commenting, upvoting, and building profiles—just like dev.to. Built for developers by developers, it emphasizes constructive dialogue, community growth, and open collaboration.
Forem runs on a Rails backend with a Preact-based frontend, and supports deployment via Gitpod, Ona, or local installation on macOS and Linux. It integrates with GitHub for authentication and leverages modern web standards to enable real-time engagement, content discovery, and user-driven content moderation.
What You Get
- Article Publishing with Markdown - Users can write and publish long-form technical articles using Markdown, with support for code blocks, images, and embedded media.
- Commenting and Reactions System - Readers can comment on posts and express reactions (e.g., likes, claps) to foster constructive dialogue and engagement.
- User Profiles with Badges - Each user has a customizable profile showcasing their posts, reactions received, and earned badges for community milestones.
- Tag-Based Content Discovery - Articles are tagged with keywords (e.g., #webdev, #ai) to enable filtering, trending topics, and content curation.
- GitHub Authentication Integration - Users can sign up and log in using their GitHub accounts, enabling seamless identity and profile synchronization.
- Community Moderation Tools - Admins and moderators have tools to manage content, flag inappropriate posts, and enforce community guidelines.
- API-Driven Content Feed - The platform exposes structured data via APIs, allowing third-party tools to consume articles, comments, and user data for analytics or aggregation.
- Multi-Platform Deployment Support - Forem can be deployed via Gitpod, Ona, or locally using Docker-free installation guides for macOS and Linux.
Common Use Cases
- Running a developer blog network - A tech company uses Forem to host an internal knowledge base where engineers publish tutorials, share debugging tips, and build internal brand authority.
- Building a niche technical community - A group of Rust developers creates a private Forem instance to discuss low-level systems programming, share code snippets, and mentor newcomers.
- Replacing Disqus or Reddit for technical discussions - A SaaS startup replaces its fragmented comment systems with Forem to unify article comments, user profiles, and community engagement under one branded platform.
- Launching a developer-focused newsletter platform - A technical educator uses Forem to publish weekly deep dives, collect reader feedback via comments, and grow a subscriber base with profile-driven engagement.
Under The Hood
Architecture
- Rails-based MVC structure with clear separation of concerns, leveraging concerns and namespaced controllers to reuse RESTful logic across resources
- Service and form objects encapsulate complex business logic, promoting single-responsibility and testability while avoiding controller bloat
- Frontend components built with Preact and Webpacker, using progressive enhancement to integrate interactive UI elements without full framework rewrites
- Dependency resolution handled via Rails’ autoloading and service locator patterns, with consistent convention-over-configuration in routing and naming
Tech Stack
- Ruby on Rails 7.x backend with PostgreSQL and Redis, powered by Sidekiq for background processing
- Modern JavaScript tooling with Webpacker and esbuild, complemented by Preact as the primary UI library
- Comprehensive testing infrastructure including Jest, Cypress, and Jest-axe, supported by Dockerized development and CI/CD pipelines
- Storybook for component-driven development with theming via CSS variables, and Sprockets for legacy asset management
Code Quality
- Extensive test coverage across unit, integration, system, and API layers with clear metadata-based organization
- Robust end-to-end testing with real-user interaction patterns and DOM state validation to ensure behavioral fidelity
- Strategic use of mocking and VCR to isolate external dependencies while preserving real-world test accuracy
- Semantic, domain-aligned naming conventions and strong validation patterns ensure readability, maintainability, and consistent error handling
What Makes It Unique
- Native Liquid templating enables rich, user-customizable content rendering without external dependencies
- Built-in AI-driven comment auditing with real-time spam and quality scoring integrated into moderation workflows
- JWT-based cross-domain authentication for seamless SSO across distributed subforum instances
- Progressive onboarding flows that adapt to user behavior to reduce friction and increase engagement
- Dynamic tag autocomplete with context-aware styling and theming that enhances content discoverability
- Preact-based server-rendered components with hydration for fast, SEO-friendly, and accessible UIs