Focalboard is an open source, self-hosted project management tool positioned as an alternative to Trello, Notion, and Asana. It helps individuals and teams define, organize, and track work across boards, and ships as either a standalone personal desktop app or a multi-user personal server. The standalone Focalboard repository is currently not actively maintained; ongoing development has moved to the Mattermost Boards plugin, which is worth checking for teams evaluating the project today.
Focalboard's Personal Server edition suits small teams that want a lightweight, self-hosted Trello or Notion alternative for tracking projects without a SaaS subscription. The Personal Desktop app suits individuals who want an offline kanban tool for personal todos that doesn't require an account or server at all. Teams that need active development and support today are better served by evaluating the actively maintained Mattermost Boards plugin instead of the standalone repository.
Building from source starts with an .env file containing EXCLUDE_ENTERPRISE="1", followed by make prebuild and make to compile the server, then ./bin/focalboard-server to run it; the port is configured in config.json and defaults to http://localhost:8000. The web app can be rebuilt separately with make webapp while the server keeps running, so frontend changes don't require a full restart. Standalone desktop builds for Windows, macOS, and Linux are also available directly from GitHub releases without any build step.
The Personal Server backend is written in Go, with a TypeScript and React web app for the frontend. Desktop builds wrap the same server and webapp in a native shell for Windows and macOS, while the Linux desktop build depends on the libgtk-3-dev and libwebkit2gtk-4.0-dev system libraries. The project's CI suite, run together via make ci, covers server unit tests, web app ESLint checks, web app unit tests, and Cypress end-to-end tests before changes are merged. Release notes are tracked in the project's CHANGELOG, and bugs can be filed directly through a GitHub issue template, with an issue template pre-filled with the bug label to speed up triage.