Skip to content

Backlog

Backlog is the staging area for work that is not yet in active board execution. It uses a side-by-side layout: a project rail on the left for fast project switching and a task list on the right for that project’s backlog.

Backlog page

Open Projects from the sidebar and select Backlog. The page auto-selects the first active project. Navigate to /projects/backlog/:projectId to open a specific project directly.

On desktop, a vertical project list on the left shows all active projects. Each row displays the project color dot, name, and a small badge with the project’s current backlog count. Click any project to switch to it. The selected project is highlighted.

On mobile, the project rail is replaced by a dropdown selector at the top of the main panel. The dropdown shows the project color, name, and backlog count for each option.

The right panel (full width on mobile) shows:

  1. A project header with the project color, code, name, and total backlog count.
  2. A filter bar (desktop) or filter sheet trigger (mobile).
  3. Active filter chips.
  4. The task list with load-more pagination.
  • Push all to board — moves all currently visible tasks to To Do status with confirmation. Available only when there are tasks and no rows are selected.
  • New backlog item — opens the Create Task dialog with the active project pre-selected and status set to Backlog.

Press c anywhere on the Backlog page to open the Create Task dialog without clicking the button (keyboard shortcut is disabled when a dialog, preview, or filter sheet is already open).

FilterOptions
SearchFull-text search within the active project’s backlog (debounced)
PriorityMulti-select: Low, Medium, High, Urgent
AssigneeSingle user picker
DueOverdue / Today / This week / No due date

Active filters appear as removable chips with a Clear all option. Switching projects resets all filters and the search field.

The due-date filter is applied client-side after the API response — the API does not yet support date-range filtering for backlog.

The backlog loads up to 200 tasks per page. When more tasks exist beyond what is currently loaded, a Load more button appears at the bottom of the list. Clicking it fetches the next batch (additional 200 tasks). This continues until all matching tasks are loaded.

Column headers support sorting:

  • First click — Ascending.
  • Second click — Descending.
  • Third click — Remove sort.

Default order follows kanban rank (rank ascending, last updated descending as tiebreak).

Enable row selection by clicking a task’s checkbox. Multiple rows can be selected at once. Selection is cleared automatically when you switch projects.

When rows are selected, a bulk-action toolbar replaces the push-all button:

  • Push selected to board — moves selected tasks to To Do with confirmation.
  • Bulk edit — opens the Bulk Edit dialog to patch selected tasks in one operation.
  • Clear selection — deselects all rows.

On mobile, bulk-action buttons appear in the bottom action bar above the keyboard area. The same three actions are available.

Batch operations are resilient: if some tasks succeed and others fail, the successful writes are committed and a summary message reports the outcome. The data always refreshes after a batch completes.

Each row supports:

  • Click — opens the task in the configured open mode (slide-over or full page).
  • Edit (pencil icon) — opens the Edit Task dialog directly from the row (write permission required).
  • Delete — opens delete confirmation (admin permission required; blocked on terminal project tasks).
  • Checkbox — selects the row for bulk operations.
SituationBehavior
No active projectsFull-page empty state prompting you to create a project
Active project with no backlog itemsPanel empty state with a prompt to add items
Filters produce no resultsFiltered empty state showing that items exist but are hidden by filters
ActionRequired permission
View backlogProjects module access
Create backlog itemcanWriteTasks and project not terminal
Push to boardcanWriteTasks and project not terminal
Bulk editcanWriteTasks
Delete taskcanAdminTasks and task’s project not terminal