gameplan is a free, open source project & work management project written in Python and released under AGPL-3.0. It has 525 GitHub stars, 268 forks and 75 open issues, and was last pushed 5 days ago. On this registry it ranks #68 of 73 tracked projects in Project & Work Management, with 5 head-to-head comparisons available. It gained 9 stars over the last 30 tracked days.

What is gameplan?

Gameplan is an AGPL-3.0, Python-based async-first discussions platform for remote teams, built on the Frappe Framework, that replaces live chat tools like Telegram with thread-first conversations for distributed teams and Frappe ecosystem users.

What it is

Gameplan is an async-first discussions tool distributed as a Python application running on the Frappe Framework. Its interface is built with Frappe UI, a Vue UI library implementing the project's design system, and search and indexing run on Redisearch, the search engine built on top of Redis. The project lives inside the Frappe ecosystem and follows Frappe conventions for sites, apps, and the Bench CLI, so it deploys alongside other Frappe applications rather than as a standalone service.

The concrete problem it solves is the loss of important conversations inside fast-moving chat tools. The README states the team behind Gameplan was remote-first from day one, but as the team grew, chat tools such as Telegram fell short and missing crucial conversations became a major issue. Gameplan replaces that always-on chat model with thread-first discussions, where people comment at their own pace instead of feeling obligated to be online at all times.

Key capabilities

  • Thread-first discussions let a user start a discussion and have others comment on it at their own pace, rather than in a live chat stream.
  • Spaces categorize conversations by project, team, client, or topic to keep discussions tidy and easy to find.
  • Customizable profiles provide cover images, short bios, and profile pictures so team members can present themselves.
  • Pages act as digital notes for meeting minutes, proposals, and ideas, and can be private by default or shared with a team or specific spaces.
  • Search and indexing run on Redisearch, a search and indexing engine built on top of Redis.
  • The front end is built on Frappe UI, a Vue UI library tied to the project's published design system.
  • The backend is the Frappe Framework, a full-stack batteries-included web framework.

Who uses it and how

  • Remote-first teams that want asynchronous discussion rather than live chat, including the Frappe team that built it.
  • Organizations already running Frappe applications that want discussions inside the same stack and the same Bench tooling.
  • Teams that prefer managed infrastructure can deploy through Frappe Cloud, which handles installation, setup, upgrades, monitoring, maintenance, and support for Frappe deployments.
  • Self-hosters can evaluate the full stack through Docker: clone the repository, change into gameplan/docker, run docker-compose up, and reach the login screen at http://localhost:8000.
  • Developers can run it locally with Bench CLI: bench init --frappe-branch version-16, bench new-site gameplan.test, bench get-app --branch develop https://github.com/frappe/gameplan, bench install-app gameplan, bench build --apps gameplan, then bench start.

Getting started

The documented path is Docker: clone the repository, change into gameplan/docker, and run docker-compose up to bring up a site at http://localhost:8000. Managed hosting is also available through Frappe Cloud, and local development without Docker uses Bench CLI against Frappe v16 with Python 3.14, Node.js 24, and Yarn 1.22.

How it compares

The facts name Telegram, which the project's own README identifies as the chat tool that fell short once the team grew. Gameplan occupies a different slot: it is an AGPL-3.0, self-hostable application that a team can run on its own infrastructure or on Frappe Cloud, with conversations retained in threads and Spaces instead of scrolling away in a live chat stream.

When to use it — and when not to

A self-hoster must operate a Frappe v16 site, which in practice means Docker or Bench CLI, Python 3.14, Node.js 24, Yarn 1.22, and Redis behind Redisearch — a heavier stack than a single-binary forum. Frappe v15 and older releases are not supported, and Gameplan has no separate version-16 branch, so develop is the supported branch for both stable and testing pairings. The repository carries 75 open issues, and teams that want a hosted chat tool with no operational surface should stay with hosted chat rather than take on a Frappe deployment.

project readme (upstream, from github) — read inline

Gameplan

Open Source Discussions Platform for Remote Teams

cypress backend test coverage frontend test coverage

Gameplan

Gameplan is an async-first discussions tool for remote teams. It encourages thoughtful communication and deep-thinking.

Motivation

We've been remote first since day one, but as our team grew, chat tools like Telegram fell short. Missing out on crucial conversations became a major issue. We needed a better way to keep everyone connected and in sync. That's how Gameplan was born - to solve the problems of modern remote work!

Key Features

  • Thread-first discussions: Gameplan lets you start a discussion and have people comment on it at their own pace, encouraging thoughtful conversation and deep thinking. No more feeling obligated to be online all the time.

  • Spaces for organization: Spaces help you categorize conversations by project, team, client, or topic – whatever makes sense for your team's workflow. This keeps discussions tidy and easy to find.

  • Customizable profiles: Get a better picture of who's on your team with profiles that let everyone showcase their personality: cover images, short bios, and profile pictures.

  • Pages for note-taking: Use pages as digital notes to jot down meeting minutes, proposals, ideas – whatever sparks creativity! They can be private by default or shared with just your team or specific spaces.

Under the Hood

Production setup

Managed Hosting

You can try Frappe Cloud, a simple, user-friendly and sophisticated open-source platform to host Frappe applications.

It takes care of installation, setup, upgrades, monitoring, maintenance and support of your Frappe deployments. It is a fully featured developer platform with an ability to manage and control multiple Frappe deployments.

Try on Frappe Cloud
</a>

Supported versions

Gameplan supports Frappe v16 and newer only. Use the following branch pairings:

Gameplan Frappe Recommended for
develop version-16 Stable Frappe v16 installations
develop develop Testing upcoming Frappe releases

Gameplan does not have a separate version-16 branch. Its develop branch is the supported branch for both pairings. Frappe v15 and older releases are not supported.

Development setup

Docker

You need Docker, docker-compose and git setup on your machine. Refer Docker documentation. After that, run the following commands:

git clone https://github.com/frappe/gameplan
cd gameplan/docker
docker-compose up

Wait for sometime until the setup script creates a site. After that you can access http://localhost:8000 in your browser and Gameplan's login screen should show up.

Use the following credentials to log in:

  • Username: alex@example.com
  • Password: 123

Local Development (without Docker)

Prerequisites
  • The dependencies required by Frappe v16, including Python 3.14, Node.js 24, and Yarn 1.22. See the current Frappe installation guide.
  • Bench CLI
  • The local frappe-ui copy is included in ./frappe-ui/ for development
Step 1: Set up the Backend

Create a Frappe v16 bench and install Gameplan's develop branch:

bench init --frappe-branch version-16 frappe-bench
cd frappe-bench
bench new-site gameplan.test
bench get-app --branch develop https://github.com/frappe/gameplan
bench --site gameplan.test install-app gameplan
bench --site gameplan.test add-to-hosts
bench build --apps gameplan

Start the development processes in one terminal:

bench start

In another terminal, create an authenticated browser session when needed:

bench --site gameplan.test browse --user Administrator

To test against the next Frappe release instead, initialize the bench with --frappe-branch develop. Keep Gameplan on develop in both cases.

Move an existing Gameplan installation from main to develop

Back up the site first, then switch only Gameplan to its supported branch. If the bench is still on an older Frappe release, switch Frappe to version-16 as well:

cd frappe-bench
bench --site gameplan.test backup
bench switch-to-branch develop gameplan
# Run the next command only when moving the bench to stable Frappe v16.
# Keep Frappe on develop when testing the upcoming release.
bench switch-to-branch version-16 frappe
bench setup requirements
bench --site gameplan.test migrate
bench build --apps gameplan
bench restart

Replace gameplan.test with the real site name. Review custom apps before switching a shared bench, because every installed app must support Frappe v16. There is no Gameplan version-16 branch to switch to.

Step 2: Set up the Frontend
  1. Open a new terminal session and navigate to the gameplan app:

    cd frappe-bench/apps/gameplan
    
  2. Initialize the pinned frappe-ui submodule:

    git submodule update --init --recursive
    
  3. Install frontend dependencies:

    yarn install --frozen-lockfile
    
  4. Start the Vite development server with the published frappe-ui package:

    yarn dev
    
  5. Optional: For frappe-ui contributors, install the submodule dependencies and use the local checkout:

    (cd frappe-ui && yarn install --frozen-lockfile)
    yarn dev:frappe-ui
    
  6. Access the application at http://gameplan.test:8080/g

How local frappe-ui development works

yarn dev uses the published frappe-ui version pinned in frontend/package.json. The yarn dev:frappe-ui command replaces that installed package with a symlink to the pinned ./frappe-ui/ submodule for library development. Running yarn dev again restores the published package.

Contributing to frappe-ui:

  • The frappe-ui directory is a Git submodule pointing to the frappe/frappe-ui repository
  • If you make changes to frappe-ui, you must submit them as a separate Pull Request to the frappe-ui repository
  • Update the submodule only through a reviewed Gameplan change; do not use git submodule update --remote
  • Test your frappe-ui changes locally with Gameplan before submitting a PR
Frontend Development Environment
  • Vite Dev Server: Runs on port 8080 by default
  • Frappe Proxy: Automatically proxies API requests to the backend via frappeProxy plugin
  • Type Generation: TypeScript types are auto-generated from backend doctypes
  • Access URL: http://gameplan.test:8080/g
Backend and Frontend Workflow
  • Backend runs on http://gameplan.test:8000 via bench start
  • Frontend dev server runs on http://gameplan.test:8080 and proxies API calls to the backend
  • The Vite dev server uses HMR (Hot Module Replacement) for instant code updates
  • Both must be running simultaneously for local development

Links



Frappe Technologies
</a>

Frequently asked questions

Is gameplan free to use?

gameplan is open source under the AGPL-3.0 licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does gameplan do?

Open Source Discussions Platform for Remote Teams

What is gameplan written in?

gameplan is primarily written in Python. Its source is publicly available at https://github.com/frappe/gameplan, and it has 525 GitHub stars.