A powerful, privacy-focused desktop productivity tracker built with Python and PyQt5. Track your tasks, measure time usage, and gain insights into your productivity with comprehensive analytics and reports.
- Create, edit, and delete tasks with detailed descriptions
- Categorize tasks for better organization
- Set task priorities (1-5 scale)
- Estimate time for tasks
- Track task status (pending, in_progress, completed, cancelled)
- Filter tasks by status and category
- Color-coded task display
- Start/stop timer for any task
- Automatic duration calculation
- Add notes to time entries
- View recent time tracking history
- Resume interrupted timers
- Overview dashboard with key metrics
- Total tasks, completed tasks, and time tracked
- Interactive pie chart showing time distribution by category
- Daily time tracking bar chart (last 7 days)
- Real-time statistics updates
- Generate weekly, monthly, or custom date range reports
- All-time productivity reports
- Detailed breakdowns by category
- Task completion summaries
- Export reports to HTML or text format
- Export all data to CSV or JSON format
- Preserve complete task and time entry history
- Easy data portability
- Offline-first: All data stored locally in SQLite database
- No cloud dependency: Your data stays on your machine
- Fast performance: Optimized database queries
- Clean Qt design: Native look and feel
- Python 3.7 or higher
- pip (Python package manager)
- Clone the repository:
git clone https://github.com/BaseMax/qt-productivity-analyzer.git
cd qt-productivity-analyzer- Install dependencies:
pip install -r requirements.txt- Run the application:
python main.py-
Add Categories: Categories are created automatically when you add tasks, or you can add them in the task creation dialog.
-
Create Tasks:
- Click "Add Task" in the Tasks tab
- Fill in task details (name, description, category, priority, estimated hours)
- Click OK to save
-
Track Time:
- Switch to the Timer tab
- Select a task from the dropdown
- Add optional notes
- Click "Start Timer"
- Work on your task
- Click "Stop Timer" when done
-
View Statistics:
- Navigate to the Statistics tab
- View overview metrics and charts
- Charts update automatically when new data is added
-
Generate Reports:
- Go to the Reports tab
- Select report type (Weekly, Monthly, Custom Range, or All Time)
- Click "Generate Report"
- Export to file if needed
Ctrl+Q: Quit applicationF5: Refresh all data
qt-productivity-analyzer/
├── main.py # Application entry point
├── main_window.py # Main window and menu
├── database.py # SQLite database layer
├── task_widget.py # Task management UI
├── timer_widget.py # Time tracking UI
├── statistics_widget.py # Statistics and charts
├── reports_widget.py # Report generation
├── requirements.txt # Python dependencies
└── README.md # This file
The application uses SQLite with the following tables:
- tasks: Stores task information (name, description, category, status, priority, etc.)
- time_entries: Tracks time spent on tasks (start time, end time, duration, notes)
- categories: Manages task categories (name, color)
- settings: Application settings (key-value pairs)
- PyQt5: GUI framework
- SQLite: Local database
- Matplotlib: Charts and visualizations
- NumPy: Data processing
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
Future enhancements planned:
- Task dependencies and subtasks
- Pomodoro timer integration
- Custom productivity goals
- Enhanced data visualization options
- Dark theme support
- Data backup and restore
- Import data from other tools
- Custom category colors
- Task templates
- Productivity insights and suggestions
If you encounter any issues or have questions:
- Check existing issues on GitHub
- Create a new issue with detailed information
- Include steps to reproduce any bugs
Built with ❤️ using open-source tools and libraries.
Note: This is an offline-first application. All your data is stored locally on your computer for maximum privacy and security.