
Pluto: To-do
Organize your universe, one task at a time đ

About Pluto: To-do
Pluto: To-do is a modern, elegant, and feature-rich cross-platform todo application built with Rust Tauri 2 and TypeScript React. Part of the PlutoTool suite of productivity applications, it combines the power of Rust's performance with React's intuitive user interface.
Whether you're organizing personal projects, managing work tasks, or coordinating team activities, Pluto: To-do provides a seamless experience with advanced features like bulk operations, smart sorting, and space-themed design that makes task management enjoyable.
đ Latest Version 1.1.0
- đ Automatic Update Checker - Check for new releases directly from the sidebar
- âšī¸ About Section - New About modal with PlutoTool information and website link
- ⨠Advanced Sorting System - Sort tasks by multiple fields with ascending/descending options
- đ Bulk Operations - Select and manage multiple tasks simultaneously
- đŗ Enhanced Subtask System - Hierarchical task management with progress tracking
- đ Task Progress Indicators - Visual progress bars for parent tasks
- đ¯ Smart Task Completion - Intelligent completion handling for tasks with subtasks
- đą Responsive Bulk Actions - Mobile-optimized floating action buttons
- ⥠Performance Optimizations - Faster task rendering and state management
đ¯ Core Task Management
- Complete CRUD Operations - Create, edit, delete tasks with intuitive interface and visual feedback
- Enhanced Subtask System - Hierarchical task management with expandable tree view (2 levels deep)
- Task Progress Tracking - Visual progress bars showing subtask completion percentages
- Smart Task Completion - Intelligent handling when completing tasks with incomplete subtasks
- Priority Levels - High, Medium, Low priority with color coding and visual indicators
- Due Date Management - Calendar picker with overdue indicators and smart reminders
- Rich Descriptions - Detailed task descriptions with markdown support
- Advanced Bulk Operations - Select multiple tasks for bulk delete, completion, or updates
đī¸ Organization Features
- Categories/Lists - Custom categories with color coding (Work, Personal, Shopping, Health, etc.)
- Flexible Tags System - Cross-category organization and filtering with tag management
- Smart Search - Full-text search across titles, descriptions, and tags with instant results
- Advanced Filtering - Filter by completion status, priority level, due date ranges, category, and tags
- Flexible Sorting - Sort by name, due date, creation date, update date, priority, or completion status
- Sort Direction Toggle - Ascending/descending sorting with visual indicators
đ¨ User Experience
- Space-themed Design - Cosmic color palette with deep blues and purples
- Dark Mode Support - Automatic system preference detection with manual toggle
- Update Notifications - Automatic update checking with detailed release notes and one-click downloads
- About Modal - Accessible information about the app and PlutoTool with direct website link
- Responsive Design - Optimized for desktop, tablet, and mobile
- Mobile-Optimized Bulk Actions - Floating action buttons for desktop, bottom sheets for mobile
- Expandable Task Hierarchy - Collapsible tree view with visual depth indicators
- Subtask Completion Modal - Smart dialog for handling incomplete subtasks
- Real-time Progress Indicators - Live updating progress bars for parent tasks
- Smooth Animations - Micro-interactions and transitions for better UX
- Keyboard Shortcuts - Power user features for efficient navigation
⥠Performance & Technical
- Cross-Platform - Windows, macOS, Linux support with native installers
- Local SQLite Database - Fast, secure, offline-first storage with automatic migrations
- Real-time Updates - Instant UI updates with optimistic loading and state management
- Memory Efficient - Less than 100MB idle memory usage with optimized Rust backend
- Fast Startup - Less than 2 seconds application launch with lazy loading
- Batch Operations - Efficient bulk operations for improved performance
- Smart Caching - Intelligent data caching for faster user interactions
đ Update System
How Updates Work
- Automatic Checking - Checks for updates on app startup with 1-hour caching
- GitHub Integration - Fetches releases from GitHub repository automatically
- Smart Notifications - Shows update button in sidebar when new version is available
- Version Comparison - Uses semantic versioning to compare current vs. latest releases
- Release Notes - Displays detailed changelog and new features in update modal
- One-Click Downloads - Direct link to GitHub releases for easy updates
Update Process
- Click "Check for Updates" in the sidebar or wait for automatic check
- If update available, click the highlighted update button to see release notes
- Click "Download Update" to visit the GitHub releases page
- Download and install the appropriate installer for your platform
System Requirements
- Operating System: Windows 10/11, macOS 10.14+, or Linux (Ubuntu 18.04+)
- Disk Space: 100 MB of available disk space
- Memory: 2 GB RAM minimum (4 GB recommended)
- Internet: Not required for core functionality (offline-first)
- Additional: Modern processor with 64-bit support
đ Quick Start
Get started with Pluto: To-do in just a few steps:
- Download the latest release for your operating system from GitHub
- Install using the native installer (DMG for macOS, MSI for Windows, DEB/AppImage for Linux)
- Launch the application - it will start in under 2 seconds
- Create your first task and explore the features
đī¸ Architecture & Technology Stack
đĻ Backend (Rust)
- Framework: Tauri 2.x (latest stable)
- Database: SQLite with rusqlite crate
- Serialization: serde & serde_json
- Date/Time: chrono for timestamps
- Async Runtime: tokio for non-blocking ops
- Error Handling: thiserror for structured errors
âī¸ Frontend (TypeScript)
- Framework: React 18+ with TypeScript 5.8+
- Build Tool: Vite 7+ for fast development
- Styling: Tailwind CSS with dark mode
- State Management: Zustand for performance
- UI Components: Custom with Radix UI primitives
- Icons: Lucide React icon library
- Date Utils: date-fns for manipulation
- Forms: React Hook Form with Zod validation
- Animations: React Spring for micro-interactions
đž Database Schema
categories
- id (TEXT, PRIMARY KEY)
- name (TEXT, NOT NULL)
- color (TEXT, NOT NULL)
- icon (TEXT)
- created_at (DATETIME)
tasks
- id (TEXT, PRIMARY KEY)
- title (TEXT, NOT NULL)
- description (TEXT)
- completed (BOOLEAN)
- priority (TEXT)
- due_date (DATETIME)
- category_id (TEXT)
- parent_id (TEXT) - For subtasks
- created_at (DATETIME)
- updated_at (DATETIME)
task_tags
- task_id (TEXT)
- tag (TEXT, NOT NULL)
- PRIMARY KEY (task_id, tag)
task_progress (Virtual)
- progress_percentage (REAL)
- total_subtasks (INTEGER)
- completed_subtasks (INTEGER)
đŠâđģ Development Setup
Prerequisites: Node.js (v18+), Rust (latest stable), and platform-specific build tools.
đ ī¸ Available Scripts
npm run dev
- Start Vite development server (frontend only)npm run tauri dev
- Start full app development with hot reloadnpm run tauri build
- Build application with installersnpm run build
- Build frontend for production
đ¨ Design System
â¨ī¸ Keyboard Shortcuts
Navigation
- Cmd/Ctrl + N - Create new task
- Cmd/Ctrl + F - Focus search bar
- Cmd/Ctrl + , - Open preferences
- Escape - Close modals/cancel
- Tab - Navigate form fields
Task Management
- Space - Toggle task completion
- Cmd/Ctrl + E - Edit selected task
- Cmd/Ctrl + D - Delete selected task
- Cmd/Ctrl + A - Select all tasks
- Click Chevron - Expand/collapse subtasks
Sorting & Filtering
- Cmd/Ctrl + 1-6 - Quick sort by field
- Cmd/Ctrl + R - Reverse sort order
- Shift + Click - Bulk select range
- Enter - Confirm/submit forms
đ New Features & Enhancements (v1.1.0)
đŗ Enhanced Subtask System
- SubtaskItem Component - Hierarchical task display with expandable tree view
- Progress Tracking - Visual progress bars showing completion percentage
- Bulk Selection - Checkbox selection for bulk operations on subtasks
- Smart Completion - SubtaskCompletionModal for handling incomplete subtasks
đ Task Progress System
- Progress Calculation - Real-time calculation of task completion percentages
- Hierarchy Management - Build and manage task relationships efficiently
- Visual Indicators - Live updating progress bars for parent tasks
đ Automatic Update System
- GitHub Integration - Automatic fetching of releases with 1-hour caching
- Version Comparison - Semantic versioning for accurate update detection
- Release Notes - Detailed changelog display in update modal
- One-Click Downloads - Direct links to platform-specific installers
đī¸ Roadmap
Upcoming Features (v1.2.0)
- đą Mobile Responsiveness - Enhanced touch interface
- đ Data Sync - Optional cloud synchronization
- đ Task Templates - Reusable task templates
- đ Analytics Dashboard - Productivity insights
- đ¨ Theme Customization - Custom color themes
- đ Advanced Search - Enhanced filtering options
Future Enhancements (v1.3.0+)
- đ Integrations - Calendar sync (Google, Outlook)
- đ Advanced Reporting - Detailed productivity reports
- đĨ Collaboration - Shared lists and team management
- đ Smart Notifications - Context-aware reminders
- đ Web Version - Browser-based PWA support
- đą Mobile Apps - Native iOS and Android apps
đŽ Long-term Vision
- đ¤ AI Integration - Smart task suggestions and auto-categorization
- đ Plugin System - Third-party extensions and customizations
- đĻ Backup & Restore - Automated backup solutions
- đ Internationalization - Multi-language support
đ Troubleshooting
Common Issues & Solutions
Build Failures
- Issue:
cargo build
fails with linker errors - Solution: Ensure platform-specific build tools are installed
- Issue: npm install fails with peer dependency warnings
- Solution: Use
npm install --legacy-peer-deps
Runtime Issues
- Issue: Database connection errors
- Solution: Check file permissions and SQLite initialization
- Issue: App window doesn't appear on launch
- Solution: Try
npm run tauri dev -- --debug
Performance Tips
- Close unnecessary applications to free up system resources
- Use
npm run tauri build
for production testing - Monitor memory usage with development tools
- Clear application data if experiencing slowdowns
đ¤ Contributing
We welcome contributions! Here's how to get started:
Getting Started
- Fork the repository on GitHub
- Clone your fork locally
- Create a feature branch:
git checkout -b feature/your-feature-name
- Install dependencies:
npm install --legacy-peer-deps
- Start development:
npm run tauri dev
Development Guidelines
- Follow the existing code style and conventions
- Add TypeScript types for all new code
- Test your changes thoroughly across platforms
- Update documentation for new features
- Write clear, descriptive commit messages
Support & Community
Join our growing community and get help when you need it:
đ Part of the PlutoTool Ecosystem
Discover more productivity tools designed to help you stay organized and efficient. Visit plutotool.com to explore the complete suite of PlutoTool applications.