# Requirements: TaskPlanner **Defined:** 2026-01-29 **Core Value:** Capture and find anything from any device — especially laptop. If cross-device capture with images doesn't work, nothing else matters. ## v1 Requirements Requirements for initial release. Each maps to roadmap phases. ### Core - [x] **CORE-01**: User can create a new entry (task or thought) - [x] **CORE-02**: User can edit an existing entry - [x] **CORE-03**: User can delete an entry - [x] **CORE-04**: User can mark entry as task or thought when creating - [x] **CORE-05**: User can mark a task as complete - [x] **CORE-06**: User can add notes to an existing entry ### Images - [x] **IMG-01**: User can attach images to an entry via file upload - [x] **IMG-02**: User can attach images via camera capture (mobile) - [x] **IMG-03**: User can view attached images on an entry - [x] **IMG-04**: User can remove an image attachment ### Tags - [x] **TAG-01**: User can add tags to an entry - [x] **TAG-02**: User can remove tags from an entry - [x] **TAG-03**: User sees autocomplete suggestions from existing tags - [x] **TAG-04**: Tags are case-insensitive ("work" = "Work" = "WORK") ### Organization - [x] **ORG-01**: User can pin/favorite an entry for quick access - [x] **ORG-02**: User can set a due date on a task - [x] **ORG-03**: Pinned entries appear in a dedicated section ### Search - [x] **SRCH-01**: User can search entries by text (title and content) - [x] **SRCH-02**: User can filter entries by tag - [x] **SRCH-03**: User can filter entries by date range - [x] **SRCH-04**: User can filter to show only tasks or only thoughts ### Capture - [x] **CAPT-01**: User can quickly capture a new entry with minimal friction - [x] **CAPT-02**: Quick capture defaults to thought (less friction than choosing) - [x] **CAPT-03**: Quick capture is accessible from main view ### UX - [x] **UX-01**: UI works well on mobile devices (touch targets, layout) - [x] **UX-02**: Font sizes are readable for older eyes (configurable or large default) - [x] **UX-03**: UI works in any modern browser (Chrome, Firefox, Safari, Edge) ### Deployment - [ ] **DEPLOY-01**: App runs in a Docker container - [ ] **DEPLOY-02**: Configuration via environment variables - [ ] **DEPLOY-03**: Data persists via named Docker volumes - [ ] **DEPLOY-04**: Single docker-compose.yml for easy deployment ## v2 Requirements Deferred to future release. Tracked but not in current roadmap. ### Polish - **POL-01**: Dark mode with theme toggle - **POL-02**: Keyboard shortcuts for common actions - **POL-03**: Export entries to JSON/Markdown - **POL-04**: Drag-and-drop reorder of entries ### Advanced - **ADV-01**: Markdown support in entry content - **ADV-02**: Natural language date parsing ("tomorrow", "next Monday") - **ADV-03**: Recurring tasks - **ADV-04**: OCR text extraction from images - **ADV-05**: Note linking with backlinks - **ADV-06**: Offline support with sync ## Out of Scope Explicitly excluded. Documented to prevent scope creep. | Feature | Reason | |---------|--------| | Real-time collaboration | Personal tool, single user — massive complexity for no value | | Multi-user authentication | Single-user by design, no need for user management | | AI-powered categorization | Over-engineering; manual tags are clearer and simpler | | Complex folder hierarchies | Flat + tags is more flexible; nesting creates friction | | Kanban boards | Overhead for personal tasks; simple list is enough | | Multiple note types | Task/thought distinction is enough; more types complicate model | | Social features | Out of scope for self-hosted personal app | | Heavy WYSIWYG editor | Bloated and complex; plain text or defer to Markdown | | Push notifications | Browser notifications are unreliable and annoying | | Version history | Storage overhead; simple edit is fine for personal use | | Mobile native app | Web-first; browser works on all devices | ## Traceability Which phases cover which requirements. Updated during roadmap creation. | Requirement | Phase | Status | |-------------|-------|--------| | CORE-01 | Phase 2 | Complete | | CORE-02 | Phase 2 | Complete | | CORE-03 | Phase 2 | Complete | | CORE-04 | Phase 2 | Complete | | CORE-05 | Phase 2 | Complete | | CORE-06 | Phase 2 | Complete | | IMG-01 | Phase 3 | Complete | | IMG-02 | Phase 3 | Complete | | IMG-03 | Phase 3 | Complete | | IMG-04 | Phase 3 | Complete | | TAG-01 | Phase 4 | Complete | | TAG-02 | Phase 4 | Complete | | TAG-03 | Phase 4 | Complete | | TAG-04 | Phase 4 | Complete | | ORG-01 | Phase 4 | Complete | | ORG-02 | Phase 4 | Complete | | ORG-03 | Phase 4 | Complete | | SRCH-01 | Phase 5 | Complete | | SRCH-02 | Phase 5 | Complete | | SRCH-03 | Phase 5 | Complete | | SRCH-04 | Phase 5 | Complete | | CAPT-01 | Phase 2 | Complete | | CAPT-02 | Phase 2 | Complete | | CAPT-03 | Phase 2 | Complete | | UX-01 | Phase 2 | Complete | | UX-02 | Phase 2 | Complete | | UX-03 | Phase 2 | Complete | | DEPLOY-01 | Phase 6 | Pending | | DEPLOY-02 | Phase 6 | Pending | | DEPLOY-03 | Phase 6 | Pending | | DEPLOY-04 | Phase 6 | Pending | **Coverage:** - v1 requirements: 31 total - Mapped to phases: 31 - Unmapped: 0 --- *Requirements defined: 2026-01-29* *Last updated: 2026-01-29 after roadmap creation*