Teams need a lightweight task board to track work items across statuses. Existing solutions (Jira, Linear) are powerful but heavyweight for small teams or side projects. We need a minimal, self-hosted task board with real-time updates.
- Provide a simple board with customizable columns (e.g., Todo, In Progress, Done)
- Allow creating, editing, and moving tasks between columns
- Support real-time updates across browser tabs/users
- Deploy as a single binary/container with no external dependencies beyond a database
As a user, I can see all columns with their tasks, ordered by position within each column.
As a user, I can create a task with a title and optional description. It appears at the bottom of the first column.
As a user, I can drag a task to a different column (or reorder within a column). The new position persists on refresh.
As a user, I can click a task to edit its title and description inline.
As a user, I can delete a task. A confirmation prompt appears before deletion.
As a user, when another user creates/moves/edits/deletes a task, I see the change without refreshing.
- Board has 1+ columns, each with a name and display order
- Tasks belong to a column and have: id, title, description (optional), position, created_at
- Moving a task updates its column and position; other tasks in affected columns reorder accordingly
- WebSocket (or SSE) pushes board mutations to all connected clients
- Default columns on first run: "Todo", "In Progress", "Done"
- Page load < 1s on localhost
- Supports 10 concurrent users without degradation
- Database: SQLite (file-based, zero config)
- No authentication required (single-team use)
- Moving a task to the same position is a no-op
- Creating a task with an empty title shows a validation error
- If WebSocket disconnects, client reconnects automatically and fetches full board state
- Concurrent moves to the same position: last-write-wins, broadcast corrected state
In scope: board CRUD, drag-and-drop, real-time sync, single board
Out of scope: multiple boards, user accounts, labels/tags, due dates, search, mobile app