Skip to main content

Tasks

Tasks flow through three stages — Backlog, In Progress, and Complete — with a hard cap of 6 active tasks to enforce focus.

Task Limit

You can have at most 6 non-completed tasks (backlog + in-progress combined). The + New Task button is disabled when the limit is reached.

Views

Toggle between two layouts, persisted to localStorage:

ViewDescription
ListTab panels for Backlog, In Progress, Complete. Each tab shows its count badge.
KanbanFull board with drag-and-drop between columns via KanbanBoard

Creating Tasks

Click + New Task to create an inline task. The template pre-fills dueDate to 4 days from now and forces the Backlog tab active. Fields:

  • Title, description, due date, priority (Urgent / High / Medium / Low), tags, assignee
  • Optional: link to a Goal (adds goalId to the task)

Tasks can also be created from the AI chat: "Add a task to deploy the API by Thursday."

Tabs

TabShows
Backlog (N)tasks not yet started
In Progress (N)tasks being worked on
Complete (N)finished tasks, with a Show All toggle to reveal older completions

Arrow keys (← →) switch between tabs when no input is focused.

Filtering

Click the filter icon to reveal the filter bar:

FilterTypeOptions
Prioritychip togglesUrgent, High, Medium, Low
Due datedropdown menuAll, Today, This Week, Overdue
Tagschip togglesfrom existing task tags

Filters are applied sequentially: priority array → assignee substring → due-date bucket → tags array. A Clear all chip resets everything.

Sorting

ModeBehavior
Defaultserver order
Recently Workedsorted by taskTimeService.getAllLastWorked() timestamps

Continue Where You Left Off

Below the tabs, a horizontal scroll strip shows chips for your 3 most recently worked active tasks (via taskTimeService.getRecentTasks(3)). Click a chip to jump to that task.

Time Tracking

Click the timer icon on any task to start tracking time. The elapsed time syncs to the server every 60 seconds via goSvc.syncTaskTime(taskId, elapsed, date) and is also saved to localStorage for offline resilience.

Task Details

Click any task to expand its detail view with:

  • Editable title, description (rich text, DOMPurify-sanitized), priority, due date, tags
  • Time tracking controls and history
  • Update history timeline
  • Linked goal chip
  • AI suggestions for subtasks and due dates

Responsive Layout

A ResizeObserver tracks available width and collapses UI elements progressively — labels, count badges, directional buttons, and the "Show All" toggle hide at narrower widths.