Focalboard
Self-hosted, open source project management with Kanban, table, gallery, and calendar views — a privacy-first alternative to Trello, Notion, and Asana.
Focalboard is a self-hosted, open source project management platform that gives technical teams and individuals full control over their data. It replaces proprietary tools like Trello, Notion, and Asana by offering a flexible, multi-view interface for managing tasks, goals, and workflows without vendor lock-in.
Built with a Go backend and a React/TypeScript frontend, Focalboard supports both a personal desktop edition (available on Windows, macOS, and Linux) and a personal server edition for multi-user team use. Data can be stored in SQLite for lightweight deployments or PostgreSQL for production-grade setups, and Docker images make deployment straightforward.
Focalboard originated as a project from Mattermost and was deeply integrated into the Mattermost platform as its Boards feature. The standalone community repository allows teams outside the Mattermost ecosystem to run it independently. The codebase supports multilingual interfaces, real-time collaboration via WebSockets, a REST API for integration, and customizable board templates for recurring workflows.
As of 2024, the standalone community repository is no longer actively maintained. Teams interested in ongoing board functionality within Mattermost can use the separately maintained mattermost-plugin-boards plugin. Despite this status, the codebase remains a complete, fully functional project management solution for teams willing to self-host a stable, feature-complete tool.
What You Get
- Kanban, Table, Gallery, and Calendar Views - Switch between four distinct visual layouts for organizing tasks, with drag-and-drop support and real-time updates across all views so every team member sees the same state.
- Unlimited Custom Properties - Add custom fields of any type — text, number, date, select, multi-select, person — to cards and boards, tailoring the data model to your exact workflow rather than adapting to a fixed schema.
- Board-Level Permissions and User Roles - Control access at the board level with granular sharing, assigning read, write, or admin roles to individual users or teams while keeping data entirely on your own servers.
- Customizable Templates - Start from built-in templates for Project Tasks, OKRs, Meeting Agendas, and Roadmaps, or build and save your own templates for repeatable team workflows.
- File Attachments on Cards - Upload images and files directly to cards, keeping all related assets in one place without depending on external storage links or cloud services.
- Real-Time Collaboration via WebSockets - See changes made by teammates appear instantly without reloading; comment on cards, @mention collaborators, and track card activity in a live feed.
- Multi-Platform Desktop Apps - Run native desktop apps on Windows (via Microsoft Store or WPF), macOS (via App Store), and Linux, each embedding the server locally so no network setup is needed for personal use.
- REST API for Integration - Automate board management, card creation, and data retrieval through a documented REST API, making Focalboard connectable to CI/CD pipelines, scripts, and internal tooling.
Common Use Cases
- Sprint planning for a self-hosted engineering team - A development team uses the Kanban view with custom priority and status properties to manage sprints entirely on internal infrastructure, satisfying data residency requirements without a SaaS subscription.
- OKR tracking across departments - A product manager creates goal boards with linked key result cards, assigns owners using person properties, and shares read-only views with leadership to align quarterly objectives across engineering, sales, and design.
- Content calendar management - A marketing team uses the calendar view to plan and track blog posts, social media content, and campaign launches, with custom fields for publish date, author, and content status.
- Personal task management on a local desktop - A developer installs the Personal Desktop edition on macOS or Linux to manage todos, reading lists, and side-project tasks in a structured board format without any cloud account or server setup.
- Meeting agenda coordination - A team lead uses the Meeting Agenda template to collect agenda items collaboratively before each sync, assign action items to attendees during the meeting, and archive completed boards for future reference.
- Integration with Mattermost messaging - An organization running Mattermost as their internal communication hub uses the mattermost-plugin-boards to embed boards directly inside channels, connecting task tracking to team discussions in a single platform.
Under The Hood
Architecture
Focalboard follows a clean layered architecture that separates the Go backend into distinct packages: API handlers, an application layer, service dependencies, and a storage abstraction. The application layer acts as the coordination hub, receiving a Services struct that bundles injected dependencies including the store interface, permissions service, notification system, metrics client, and webhook client. This constructor-based dependency injection makes the application testable and swappable at every boundary. The API layer maps HTTP routes to handler functions using Gorilla Mux, delegating all business logic to the app layer. A WebSocket server runs alongside the REST API to push board and card change events to connected clients in real time, keeping views synchronized without polling.
Tech Stack The backend is written in Go 1.21 and uses Gorilla Mux for HTTP routing, the Gorilla WebSocket library for real-time events, Squirrel as a SQL query builder, and Morph for database migrations. Storage supports SQLite3 via mattn/go-sqlite3 (default, used in personal and desktop editions) and PostgreSQL via lib/pq for production deployments. Prometheus metrics are exposed via a dedicated endpoint. The frontend is React 17 with TypeScript, bundled using webpack, and uses Redux Toolkit for state management, Draft.js for rich text editing in cards, FullCalendar for the calendar view, and react-beautiful-dnd for drag-and-drop card ordering. Internationalization is provided by react-intl with locale files covering dozens of languages. Cross-platform desktop apps are built using WPF for Windows, Xcode for macOS, and WebKitGTK for Linux.
Code Quality The codebase demonstrates comprehensive testing discipline across both the frontend and backend. The Go server layer includes unit tests and integration tests covering API endpoints, block operations, board management, permissions, and compliance scenarios. The React frontend has Jest unit tests for components and utility functions, snapshot tests to catch unintended rendering changes, and Cypress end-to-end tests covering full user workflows. Redux state is mocked with realistic factories in tests, and Go mocks are generated via golang/mock. TypeScript strict mode enforces type safety throughout the frontend. ESLint and TSLint configurations enforce consistent code style, and a CI workflow runs the full test suite including ESLint checks, unit tests, and Cypress tests on every commit.
What Makes It Unique Focalboard’s most distinctive technical characteristic is its dual-mode deployment model: the same codebase can run as a standalone personal desktop app embedding SQLite locally, a multi-user server with PostgreSQL, or a Mattermost plugin that embeds board functionality directly inside a team communication platform. The plugin integration is particularly notable — it shares the React frontend via a Mattermost channel-aware context, enabling boards to appear alongside conversations without a separate service. The multilingual support is deeply integrated at the data model level, with locale files covering dozens of languages managed through react-intl. The block-based data model, where cards, properties, and content are all stored as typed blocks with parent-child relationships, gives the system flexibility to support future view types and content block types without schema migrations for each addition.
Self-Hosting
Focalboard’s source code is licensed under the GNU AGPL v3.0, with an important clarification from Mattermost: compiled binaries distributed by Mattermost are released under the MIT license, which is permissive and allows commercial use without copyleft obligations. If you build your own compiled version from source, the AGPL v3.0 applies, which means any modifications you make and distribute as a network service must be released as open source. For teams that need to modify the source internally without open-sourcing those changes, a commercial license is available from Mattermost by contacting commercial@mattermost.com. Certain parts of the codebase — specifically the admin tools, configuration files, i18n files, and model layer — are licensed under the Apache License v2.0, providing maximum flexibility for integration work.
Running Focalboard yourself means taking on full operational responsibility. The Personal Server edition is straightforward to deploy on Ubuntu or via Docker with a single container, but production multi-user deployments require PostgreSQL, load balancing for redundancy, file storage configuration for attachments, and a process for applying database migrations across versions. There is no managed upgrade path; staying current means manually pulling new releases, applying migrations with the bundled Morph migration tool, and verifying compatibility with your PostgreSQL version. The project’s active maintenance ended in 2024 — the standalone community repository explicitly notes it is no longer maintained and directs users to the separately managed mattermost-plugin-boards for ongoing development. This means no new security patches, bug fixes, or feature updates are coming to the standalone version.
Compared to Mattermost’s hosted Boards offering or commercial project management SaaS tools, self-hosting the standalone Focalboard means accepting no vendor support, no SLA, no automated backups, and no guaranteed security updates. The Mattermost plugin version continues to receive updates but requires running a full Mattermost server. Teams evaluating Focalboard today should weigh whether the standalone edition’s feature completeness at its last release satisfies their needs indefinitely, or whether an actively maintained alternative — open source or SaaS — better fits their risk tolerance and operational capacity.
Related Apps
AutoGPT
Automation · Productivity · AI Assistants
Build, deploy, and run autonomous AI agents that automate complex multi-step workflows using a visual block-based graph editor.
AutoGPT
OtherDify
No Code Platforms · AI Development · Developer Tools
Visual LLM workflow platform with RAG pipelines, agent capabilities, and model management for building production AI applications.
Dify
OtherZed
Developer Tools · Collaboration · Code Editors
High-performance, multiplayer code editor built in Rust by the creators of Atom and Tree-sitter, with native AI integration and real-time collaboration.