# Feature Research **Domain:** Personal Task/Notes Web App (self-hosted, single-user) **Researched:** 2026-01-29 **Confidence:** MEDIUM (based on competitor analysis via WebFetch + domain knowledge) ## Feature Landscape ### Table Stakes (Users Expect These) Features users assume exist. Missing these = product feels incomplete. | Feature | Why Expected | Complexity | Notes | |---------|--------------|------------|-------| | Create/Edit/Delete items | Basic CRUD is fundamental | LOW | Text input with persistence | | Distinguish tasks vs thoughts | Project requirement; users expect to filter by type | LOW | Boolean or enum field | | Mark tasks complete | Core task management; every competitor has this | LOW | Status toggle | | Cross-device access | Project requirement; web app enables this inherently | LOW | Responsive design | | Search | Users expect to find content quickly; all competitors offer this | MEDIUM | Full-text search on title + content | | Tags/labels | Standard organization pattern (Todoist, Bear, Simplenote all have) | MEDIUM | Many-to-many relationship | | Image attachments | Project requirement for digitizing paper notes | MEDIUM | File upload, storage, display | | Mobile-friendly UI | "Any device" access means mobile must work | MEDIUM | Responsive design, touch targets | | Data persistence | Notes must survive restart | LOW | Database storage | | Quick capture | Fast entry is table stakes (Todoist: "Capture...the moment they come to you") | LOW | Minimal friction input | ### Differentiators (Competitive Advantage) Features that set the product apart. Not required, but valuable. | Feature | Value Proposition | Complexity | Notes | |---------|-------------------|------------|-------| | OCR on images | Search text within uploaded images (Evernote, Bear Pro have this) | HIGH | Requires OCR library/service | | Image annotation | Mark up photos of paper notes | HIGH | Canvas drawing, save state | | Natural language dates | "tomorrow", "next Monday" (Todoist signature feature) | MEDIUM | Date parsing library | | Recurring tasks | Habits and repeated items (Todoist core feature) | MEDIUM | RRULE or simple patterns | | Offline support | Work without internet, sync later | HIGH | Service worker, conflict resolution | | Keyboard shortcuts | Power user efficiency | LOW | Event handlers | | Dark mode | User preference, reduces eye strain | LOW | CSS variables, theme toggle | | Markdown support | Rich formatting without WYSIWYG complexity (Simplenote, Bear, Obsidian) | MEDIUM | Markdown parser + preview | | Note linking | Connect related items (Obsidian's core feature) | MEDIUM | Internal link syntax, backlinks | | Document scanning | Camera capture with perspective correction (Evernote) | HIGH | Camera API, image processing | | Export/backup | Data portability, user owns data (Obsidian philosophy) | LOW | JSON/Markdown export | | Drag-and-drop reorder | Intuitive organization (Todoist Upcoming view) | MEDIUM | Sortable library, persist order | | Pin/favorite items | Quick access to important items (Bear) | LOW | Boolean field, UI section | | Due dates with reminders | Time-sensitive tasks (all task apps have this) | MEDIUM | Date field + notification system | ### Anti-Features (Commonly Requested, Often Problematic) Features that seem good but create problems for a personal, single-user app. | Feature | Why Requested | Why Problematic | Alternative | |---------|---------------|-----------------|-------------| | Real-time collaboration | "Maybe I'll share with family" | Massive complexity (OT/CRDT), scope creep, conflicts with "personal" app | Export/share single notes manually | | AI-powered categorization | Trendy, seems smart | Over-engineering for personal use; manual tags are clearer | Good tag UX + search | | Complex folder hierarchies | "I want to organize everything" | Deep nesting causes friction; flat + tags is more flexible | Tags with hierarchy (nested tags) | | Kanban boards | Looks nice, seems productive | Overhead for personal tasks; simple list often better | Optional board view later | | Multiple note types | "Journals, wikis, tasks, etc." | Complicates data model, UI; blur the simple task/thought distinction | Two types (task/thought) with tags | | Social features | Share achievements, collaborate | Out of scope for self-hosted personal app | None | | Heavy WYSIWYG editor | "I want formatting" | Bloated, complex, mobile-unfriendly | Markdown with preview | | Notifications/alerts on web | Keep me on track | Browser notifications are annoying, unreliable | Focus on capture, not nagging | | Version history | "I might want to undo" | Storage overhead, complexity for personal use | Simple edit; consider soft-delete | | Multi-user/auth | "Maybe I'll share the server" | Security complexity, out of scope | Single-user by design | ## Feature Dependencies ``` [Search] └──requires──> [Data persistence] [Tags] └──requires──> [Data persistence] └──enhances──> [Search] (filter by tag) [Image attachments] └──requires──> [Data persistence] └──requires──> [File storage] [OCR on images] └──requires──> [Image attachments] [Image annotation] └──requires──> [Image attachments] [Markdown support] └──enhances──> [Create/Edit items] [Note linking] └──requires──> [Data persistence] └──enhances──> [Search] (backlink discovery) [Recurring tasks] └──requires──> [Mark tasks complete] [Due dates with reminders] └──requires──> [Distinguish tasks vs thoughts] [Offline support] └──conflicts──> [Real-time collaboration] (sync conflicts) └──requires──> [Data persistence] [Export/backup] └──requires──> [Data persistence] ``` ### Dependency Notes - **OCR requires Image attachments:** Cannot search images if they don't exist - **Tags enhance Search:** Tag filtering is a search feature - **Offline conflicts with Real-time collab:** Sync conflict resolution is hard; single-user sidesteps this - **Recurring tasks require completion status:** Need to know when to regenerate ## MVP Definition ### Launch With (v1) Minimum viable product based on project requirements: - [x] Create/Edit/Delete items (task or thought) -- core CRUD - [x] Distinguish tasks vs thoughts -- project requirement - [x] Mark tasks complete -- essential task management - [x] Image attachments -- project requirement for digitizing paper notes - [x] Tags for organization -- project requirement - [x] Search -- project requirement - [x] Mobile-responsive UI -- "any device" requirement - [x] Containerized deployment -- project requirement ### Add After Validation (v1.x) Features to add once core is working: - [ ] Dark mode -- low complexity, high user satisfaction - [ ] Keyboard shortcuts -- power user efficiency - [ ] Pin/favorite items -- quick access to important items - [ ] Export to JSON/Markdown -- data portability - [ ] Due dates on tasks -- natural extension of task type - [ ] Drag-and-drop reorder -- better organization UX ### Future Consideration (v2+) Features to defer until product-market fit is established: - [ ] Markdown support -- adds complexity to editing - [ ] Natural language dates -- requires parsing library - [ ] Recurring tasks -- adds state machine complexity - [ ] OCR on images -- requires external service/library - [ ] Note linking -- changes how users think about the app - [ ] Offline support -- significant complexity (service worker, sync) ## Feature Prioritization Matrix | Feature | User Value | Implementation Cost | Priority | |---------|------------|---------------------|----------| | Create/Edit/Delete | HIGH | LOW | P1 | | Task vs Thought distinction | HIGH | LOW | P1 | | Mark complete | HIGH | LOW | P1 | | Image attachments | HIGH | MEDIUM | P1 | | Tags | HIGH | MEDIUM | P1 | | Search | HIGH | MEDIUM | P1 | | Mobile-responsive | HIGH | MEDIUM | P1 | | Dark mode | MEDIUM | LOW | P2 | | Keyboard shortcuts | MEDIUM | LOW | P2 | | Pin/favorite | MEDIUM | LOW | P2 | | Export | MEDIUM | LOW | P2 | | Due dates | MEDIUM | MEDIUM | P2 | | Drag-and-drop | MEDIUM | MEDIUM | P2 | | Markdown | MEDIUM | MEDIUM | P3 | | Natural language dates | LOW | MEDIUM | P3 | | Recurring tasks | MEDIUM | HIGH | P3 | | OCR | LOW | HIGH | P3 | | Note linking | LOW | MEDIUM | P3 | | Offline support | LOW | HIGH | P3 | **Priority key:** - P1: Must have for launch (MVP) - P2: Should have, add when possible (v1.x) - P3: Nice to have, future consideration (v2+) ## Competitor Feature Analysis | Feature | Todoist | Bear | Simplenote | Obsidian | Our Approach | |---------|---------|------|------------|----------|--------------| | Task management | Core focus | Checkbox in notes | Basic lists | Plugin | First-class task type | | Notes/thoughts | Via descriptions | Core focus | Core focus | Core focus | First-class thought type | | Image attachments | Yes | Yes (with sketching) | No | Yes | Yes, for paper note capture | | Tags | Yes (labels) | Yes (with icons) | Yes | Yes | Yes, simple tags | | Search | Advanced filters | OCR search (Pro) | Instant search | Full-text | Full-text + tag filter | | Sync | Cloud (their servers) | iCloud | Cloud (their servers) | Local-first, optional sync | Self-hosted, cross-device via web | | Markdown | Limited | Yes | Yes | Yes (core) | Defer to v2 | | Offline | Yes | Yes | Yes | Yes (local-first) | Defer to v2 | | Mobile | Native apps | Native (Apple only) | Native apps | Native apps | Responsive web | **Our differentiation:** Self-hosted, single-user simplicity with explicit task/thought distinction and image attachment for digitizing paper notes. No account required, no cloud dependency, you own your data. ## Confidence Notes | Section | Confidence | Rationale | |---------|------------|-----------| | Table Stakes | HIGH | Verified against Todoist, Bear, Simplenote, Evernote via WebFetch | | Differentiators | MEDIUM | Based on competitor features; value proposition is hypothesis | | Anti-Features | MEDIUM | Based on domain experience; specific to single-user context | | Dependencies | HIGH | Logical dependencies from requirements | | MVP Definition | HIGH | Derived directly from project requirements | ## Sources - Todoist features page (verified via WebFetch) - Obsidian home page (verified via WebFetch) - Bear app home page (verified via WebFetch) - Simplenote home page (verified via WebFetch) - Evernote features page (verified via WebFetch) --- *Feature research for: Personal Task/Notes Web App* *Researched: 2026-01-29*