A personal task organization system based on the Eisenhower Matrix, helping you prioritize tasks by importance and urgency. Features multi-language support, battle-style task comparison, and print-ready reports.
Try it now: https://dwildt.github.io/priority/
The application is automatically deployed to GitHub Pages from the main branch.
- Eisenhower Matrix: Organize tasks into 4 quadrants (Important/Urgent, Important/Not Urgent, etc.)
- Multi-language Support: Portuguese, English, and Spanish
- Battle Mode: Pairwise task comparison to determine "The One" most important task
- Print-Ready Reports: Export organized task lists with "The One", "Up Next", and matrix overview
- Data Persistence: Local storage with import/export capabilities
- Interactive UI: Drag-and-drop task management
- Task Assessment: Guided questions for importance/urgency evaluation
- Smart Categorization: Automatic task placement in correct quadrants
- Responsive Design: Works on desktop and mobile devices
Visit the live demo at https://dwildt.github.io/priority/ - no installation required!
- Node.js (v16 or higher)
- npm or yarn
# Clone the repository
git clone https://github.com/dwildt/priority.git
cd priority
# Install dependencies
npm install
# Start development server
npm run dev
Visit http://localhost:8080
to use the application.
- Click "Add Task" button
- Enter task description
- Answer importance and urgency questions
- Task automatically appears in the correct quadrant
- Navigate to Important + Urgent quadrant
- Use "Battle Mode" to compare tasks pairwise
- System determines "The One" most critical task
- Click "Generate Report" for print-ready view
- Export as PDF or print directly
- Includes "The One", "Up Next", and full matrix
- Use language switcher in top-right corner
- Choose between Portuguese, English, or Spanish
- All interface text and reports adapt automatically
priority/
βββ src/
β βββ components/ # Atomic Design Components
β β βββ atoms/ # Basic building blocks (buttons, inputs, icons)
β β βββ molecules/ # Component combinations (forms, cards)
β β βββ organisms/ # Complex components (grids, modals)
β β βββ templates/ # Page layouts
β β βββ pages/ # Complete page implementations
β βββ js/ # Application logic
β β βββ app.js # Main application
β β βββ matrix.js # Matrix logic
β β βββ battle.js # Battle mode
β β βββ i18n.js # Internationalization
β βββ css/ # Asana-inspired design system & styles
β βββ i18n/ # Language files
β βββ index.html # Main HTML
βββ tests/ # Unit tests
βββ cypress/ # E2E tests
βββ tasks/ # Project documentation & planning
npm run dev # Start development server
npm run test # Run unit tests
npm run test:watch # Run tests in watch mode
npm run cypress:open # Open Cypress test runner
npm run lint # Run ESLint
npm run build # Run all checks (lint + test)
- Unit Tests: Jest for business logic testing
- E2E Tests: Cypress for user interaction testing
- Coverage: Minimum 90% code coverage required
- ESLint configuration with strict rules
- Conventional commit messages
- Pre-commit hooks for quality checks
This project is optimized for GitHub Copilot development:
- Comprehensive JSDoc: All classes and methods have detailed documentation
- Type Hints: Type definitions in
src/js/types.js
for better AI suggestions - Context Files:
.github/copilot-instructions.md
provides project-specific guidance - Development Guide:
docs/copilot-development-guide.md
with patterns and examples - Clear Naming: Descriptive variable and function names for better code understanding
The system is based on the productivity method created by President Dwight D. Eisenhower:
- Quadrant 1: Important + Urgent (Do First)
- Quadrant 2: Important + Not Urgent (Schedule)
- Quadrant 3: Not Important + Urgent (Delegate)
- Quadrant 4: Not Important + Not Urgent (Eliminate)
Currently supported languages:
- π§π· Portuguese (PortuguΓͺs)
- πΊπΈ English
- πͺπΈ Spanish (EspaΓ±ol)
Unique feature for determining task priority:
- System presents pairs of tasks from Important+Urgent quadrant
- User chooses which task is more critical
- Algorithm ranks all tasks based on comparisons
- "The One" most important task is identified
Asana-Inspired Color Palette:
- Q1 (Do First): Blue (#4A90E2) - Professional urgency
- Q2 (Schedule): Green (#2ECC8F) - Growth and planning
- Q3 (Delegate): Orange (#FFA726) - Attention and delegation
- Q4 (Eliminate): Red (#FF6B6B) - Warning and elimination
Atomic Design Architecture:
- Atoms: Buttons, inputs, icons, typography, toggles
- Molecules: Form groups, task cards, progress indicators
- Organisms: Matrix grid, modals, headers, battle interface
- Templates: Layout structures for different page types
- Pages: Complete application views
Generate professional reports including:
- The One: Your single most important task
- Up Next: Next 3-5 priority tasks
- Matrix Overview: All tasks organized by quadrant
- Summary Statistics: Task counts and completion rates
The project is automatically deployed to GitHub Pages using GitHub Actions:
- Automatic Deployment: Every push to the
main
branch triggers deployment - Live URL: https://dwildt.github.io/priority/
- Build Process: The workflow runs tests, linting, and deploys static files
- Zero Configuration: No additional setup required
# Ensure all tests pass
npm run build
# Push to main branch
git push origin main
- Fork the repository: https://github.com/dwildt/priority
- Create a feature branch
- Make your changes
- Run tests:
npm run build
- Submit a pull request
MIT License - see LICENSE file for details
For issues and questions:
- Check the documentation in
/tasks/
- Review test examples in
/tests/
and/cypress/
- Open an issue on GitHub