Project Management

We use the Jan Monorepo Project (opens in a new tab) in Github to manage our roadmap and sprint Kanbans.

As much as possible, everyone owns their respective epics and tasks.


We aim for a loosely coupled, but tightly aligned autonomous culture.



Roadmap Labels (opens in a new tab)

  • Roadmap Labels tag large, long-term, & strategic projects that can span multiple teams and multiple sprints
  • Example label: roadmap: Jan has Mobile
  • Roadmaps contain epics

Epics (opens in a new tab)

  • Epics track large stories that span 1-2 weeks, and it outlines specs, architecture decisions, designs
  • Epics contain tasks
  • Epics should always have 1 owner

Milestones (opens in a new tab)

Tasks (opens in a new tab)

  • Tasks are individual issues (feats, bugs, chores) that can be completed within a few days
  • Tasks, except for critical bugs, should always belong to an epic (and thus fit into our roadmap)
  • Tasks are usually named per Conventional Commits (opens in a new tab)
  • Tasks should always have 1 owner

We aim to always sprint on tasks that are a part of the current roadmap (opens in a new tab).


  • no status: issues that need to be triaged (needs an owner, ETA)
  • icebox: issues you don't plan to tackle yet
  • planned: issues you plan to tackle this week
  • in-progress: in progress
  • in-review: pending PR or blocked by something
  • done: done

Triage SOP

  • Urgent bugs: assign to an owner (or @engineers if you are not sure) && tag the current sprint & milestone
  • All else: assign the correct roadmap label(s) and owner (if any)

Request for help

As a result, our feature prioritization can feel a bit black box at times.

We'd appreciate high quality insights and volunteers for user interviews through Discord (opens in a new tab) and Github (opens in a new tab).