# Captain's Log - Personal Task Management System ## Product Requirements Document (PRD) ### Executive Summary **Problem Statement**: Managing personal tasks effectively without mental overhead or feeling overwhelmed by an endless backlog. **Solution**: A GTD-inspired web application that serves as a comprehensive "brain dump" for tasks while providing intelligent, context-aware filtering to surface only relevant, actionable items. **Key Value Proposition**: - Capture everything without thinking - See only what matters right now - Work efficiently within your current context --- ### User Persona & Use Cases **Primary User**: Individual knowledge worker seeking personal productivity optimization **Core Workflows**: 1. **Brain Dump**: Quickly capture tasks without categorization friction 2. **Daily Planning**: Review context-appropriate tasks for the day 3. **Context Switching**: Filter tasks by current availability (@computer, @errands, @phone) 4. **Project Focus**: Deep dive into specific project tasks 5. **Maintenance**: Process recurring tasks and update statuses --- ### Core Features (MVP) #### 1. Task Management - **Quick Capture**: Single-field task entry with smart parsing - **Task Properties**: - Title (required) - Description (optional, markdown supported) - Priority (High/Medium/Low) - Due date (optional) - Project assignment - Context tags - Status (Todo/In Progress/Done/Someday) #### 2. Context-Based Organization - **Context Tags**: Predefined and custom contexts - `@computer` - Requires computer access - `@phone` - Phone-based tasks - `@errands` - Location-based tasks - `@office_hours` - Business hours required - `@home` - Home-specific tasks - `@online` - Internet required - `@focused` - Deep work time needed - **Context Filtering**: Show only tasks doable in current context - **Multi-Context Support**: Tasks can have multiple context requirements #### 3. Project Organization - **Hierarchical Projects**: Simple folder-like structure - **Project Views**: Filter all tasks by project - **Project Status**: Active/On Hold/Completed - **Project Metadata**: Description, color coding #### 4. Smart Views (Anti-Overwhelm Features) - **Today**: Limited view (max 7 tasks) based on due dates and priorities - **This Week**: Week-ahead planning view - **By Context**: Tasks filtered by selected context - **By Project**: Project-focused task lists - **Overdue**: Past-due items requiring attention - **Someday/Maybe**: Future consideration items #### 5. Recurring Tasks - **Flexible Patterns**: - Daily, Weekly, Monthly - Custom intervals (every N days/weeks) - Day-of-week specifications (every Monday) - Monthly by date or relative day - **Context-Aware Recurrence**: Recurring tasks inherit context requirements - **Smart Scheduling**: Next instance created only after completion #### 6. Mobile-Responsive Design - **Touch-Friendly Interface**: Large tap targets, swipe actions - **Progressive Web App**: Installable on mobile devices - **Offline Capability**: Basic functionality without internet - **Fast Task Entry**: Optimized mobile input experience --- ### Technical Architecture #### Frontend: Vite + React - **Build Tool**: Vite for fast development and optimized builds - **Framework**: React with functional components and hooks - **Routing**: React Router for client-side navigation - **Styling**: Tailwind CSS for rapid UI development - **State Management**: React state with localStorage persistence - **PWA Features**: Service worker for offline functionality - **Mobile Optimization**: Touch gestures, responsive design #### Backend: Rust - **Framework**: Axum for high-performance HTTP server - **Database**: SQLx for type-safe database interactions - **Authentication**: Simple session-based auth (single user) - **API Design**: RESTful endpoints with JSON responses - **Error Handling**: Structured error responses #### Database Design - **Development**: SQLite for easy setup and portability - **Production**: PostgreSQL for scalability and advanced features - **Migration Strategy**: Database abstraction layer using SQLx - **Schema Management**: Automated migrations #### Core Data Models ```sql -- Projects projects (id, name, description, color, status, created_at, updated_at) -- Contexts contexts (id, name, description, color, icon) -- Tasks tasks (id, title, description, priority, due_date, status, project_id, created_at, updated_at, completed_at) -- Task-Context relationships (many-to-many) task_contexts (task_id, context_id) -- Recurring task patterns recurring_patterns (id, task_id, pattern_type, interval_value, days_of_week, monthly_type) ``` #### Deployment Architecture - **Containerization**: Docker with multi-stage builds - **Database**: Separate PostgreSQL container - **Reverse Proxy**: Nginx for static files and SSL termination - **VPS Deployment**: Docker Compose for easy deployment - **Environment Management**: Environment-based configuration --- ### User Experience Design #### Design Principles 1. **Minimal Cognitive Load**: Quick capture without forced categorization 2. **Context Awareness**: Show relevant tasks for current situation 3. **Progressive Disclosure**: Essential info visible, details on demand 4. **Visual Hierarchy**: Priority and urgency clearly communicated 5. **Consistent Interactions**: Predictable UI patterns across views #### Key Interface Elements - **Quick Add Bar**: Always-visible task input at top - **Context Selector**: Prominent context filtering controls - **Task Cards**: Clean, scannable task representation - **Smart Badges**: Visual indicators for priority, due dates, contexts - **Swipe Actions**: Mobile-friendly task interactions (complete, defer, edit) #### Anti-Overwhelm Features - **Limited Daily View**: Maximum 7 tasks to prevent paralysis - **Defer Actions**: Easy postponement without guilt - **Batch Operations**: Complete multiple tasks efficiently - **Focus Mode**: Hide all non-essential UI elements --- ### Future Enhancements (Post-MVP) #### Phase 2: Advanced Features - **Time Estimation**: Task duration tracking and planning - **Calendar Integration**: Sync with external calendars - **Notification System**: Smart reminders based on context and location - **Task Dependencies**: Prerequisite relationships between tasks - **Templates**: Reusable task patterns for common workflows #### Phase 3: Analytics & Insights - **Completion Analytics**: Personal productivity metrics - **Context Analysis**: Time spent in different contexts - **Project Progress**: Visual project completion tracking - **Habit Tracking**: Recurring task completion patterns #### Phase 4: Inspiration & Activities - **Inspiration List**: Capture "things I'd like to do" separate from tasks - Activities like "practice piano", "learn photography", "try new recipes" - Context-aware suggestions (@home activities, @outdoors ideas, etc.) - Mood/energy level matching (high energy vs. relaxing activities) - **Boredom Buster**: Smart suggestions based on available time and current context - **Activity Tracking**: Optional logging of completed inspirational activities - **Seasonal Suggestions**: Surface relevant activities based on time of year --- ### Success Metrics #### Primary Metrics - **Daily Active Usage**: Regular task capture and completion - **Task Completion Rate**: Percentage of tasks marked complete vs. abandoned - **Context Switch Efficiency**: Tasks completed per context session #### Secondary Metrics - **Capture Velocity**: Time from task creation to categorization - **Mobile Usage**: Percentage of interactions from mobile devices - **Overwhelm Reduction**: User-reported stress levels (qualitative) --- ### Development Roadmap #### Phase 1: Core MVP (4-6 weeks) 1. Database schema and backend API 2. Basic task CRUD operations 3. Project organization 4. Context tagging system 5. Simple web interface 6. Mobile-responsive design #### Phase 2: Smart Features (2-3 weeks) 1. Smart views and filtering 2. Recurring task engine 3. Quick capture improvements 4. PWA features #### Phase 3: Polish & Deploy (1-2 weeks) 1. UI/UX refinements 2. Performance optimization 3. VPS deployment setup 4. Documentation --- ### Technical Considerations #### Scalability - Single-user system optimized for personal use - Database designed to handle thousands of tasks efficiently - Efficient indexing on frequently queried fields #### Security - Session-based authentication for simplicity - Input validation and sanitization - Rate limiting on API endpoints - Secure password storage (if multi-user expansion needed) #### Performance - Lazy loading for large task lists - Client-side caching with service worker - Database query optimization - Optimized build and bundle sizes with Vite #### Maintenance - Automated database backups - Application logging and monitoring - Simple deployment pipeline - Configuration management for different environments