A privacy-first task management application built with the Eisenhower Matrix framework. Your data never leaves your device - everything is stored locally in your browser.
- Live Demo: https://focusflow-liart-two.vercel.app
- GitHub: https://github.com/ditty007/focusflow
- Report Issues: GitHub Issues
- Contribute: See CONTRIBUTING.md
- License: MIT
FocusFlow is designed with privacy as the core principle:
- No Cloud Storage: All your tasks are stored locally in your browser using localStorage
- No Account Required: Start using immediately without signing up or logging in
- No Data Collection: Zero tracking, zero analytics, zero telemetry
- Offline-First: Works completely offline after the initial load
- You Control Your Data: Use Export/Import to backup and transfer your data as JSON files
This means:
- Your tasks, notes, and plans never touch any server
- No one can access your data except you
- If you clear your browser data, everything is gone - and that's by design
- Export regularly to keep backups on your device
- Eisenhower Matrix: Categorize tasks by urgency and importance
- Week View: Plan your week with a drag-and-drop interface (Monday-Friday)
- Backlog System:
- Monitor: Tasks to keep an eye on
- From Last Week(s): Incomplete tasks from previous weeks
- Next Week: Future planning
- Next Month: Long-term planning
- Spaces: Arc browser-style workspaces to separate different projects
- Space Management: Create, rename, and delete spaces
- Move Tasks: Easily move tasks between spaces
- Time Estimates: Track how long tasks will take
- Subtasks: Break down complex tasks
- Stakeholders: Note who's involved
- Notes: Add detailed context
- Completed Tasks History: View all completed tasks with statistics
- Completion Time Analysis: See average completion time by category
- Sortable History: Sort by date, category, or completion time
- Export: Download your tasks as JSON to backup or transfer
- Import: Load tasks from JSON files
- Space-Aware Export: Export specific spaces or all data
- XSS Protection: All user input sanitized with DOMPurify
- Input Validation: Comprehensive validation on all fields
- File Upload Security: Strict validation on imported files (type, size, structure)
- 97.3% Test Coverage: 163 tests ensure reliability and security
# Install dependencies
npm install
# Run development server
npm run dev
# Run tests
npm test
# Run tests with coverage
npm run test:coverage
# Build for production
npm run buildThe production build is optimized and minified:
- Main bundle: ~271KB (84KB gzipped)
- Code splitting for optimal performance
- All assets optimized
- React 19 - UI framework
- TypeScript - Type safety
- Vite - Build tool
- Tailwind CSS 4 - Styling
- @dnd-kit - Drag and drop
- DOMPurify - XSS protection
- Vitest - Testing framework
- date-fns - Date utilities
Comprehensive test suite with 163 tests:
- Unit tests for all utilities
- Hook tests with React Testing Library
- Security validation tests
- 97.3% code coverage
npm test # Run all tests
npm run test:ui # Run tests with UI
npm run test:coverage # Generate coverage reportWe love contributions! FocusFlow is built by the community for the community.
Before contributing, please:
- Read CONTRIBUTING.md for guidelines
- Check existing issues
- Ensure all tests pass and coverage remains high
- Maintain privacy-first principles
- π¨ UI/UX improvements
- βΏ Accessibility enhancements
- π Internationalization (i18n)
- π± Mobile optimizations
- β¨οΈ Keyboard shortcuts
- π¨ Dark mode
- π Additional export formats
See our issues page for tasks marked "good first issue" or "help wanted".
MIT License - see LICENSE file for details.
If you find FocusFlow useful, please consider giving it a star β on GitHub!
- Discussions: Share ideas and ask questions in GitHub Discussions
- Issues: Report bugs or request features in GitHub Issues
Built with privacy in mind. Your data is yours alone.
Created with Claude Code