A comprehensive data processing pipeline for analyzing TickTick CSV exports to identify high-impact tasks and assess productivity patterns using Getting Things Done (GTD) methodology. Normalizes non-standard TickTick CSV exports, categorizes tasks by impact dimensions, and provides actionable insights for task prioritization.
Explore the docs »
Report Bug
Table of Contents
This project provides a comprehensive data processing pipeline for analyzing TickTick CSV exports to identify high-impact tasks and assess productivity patterns using Getting Things Done (GTD) methodology. The system normalizes non-standard TickTick CSV exports, categorizes tasks across five impact dimensions, and provides actionable insights for strategic task prioritization.
Key Features:
- CSV Normalization: Cleanses TickTick's non-standard CSV format with metadata headers and multiline fields
- Task Matrix Analysis: Generates comprehensive task counts by list, status, and priority
- High-Impact Assessment: Evaluates tasks across five GTD dimensions for strategic prioritization
- Interactive Filtering: Context-based task filtering with menu-driven selection
- Pattern Recognition: Identifies productivity patterns and optimization opportunities
- Export Analytics: Provides insights for continuous improvement of task management
This project implements data analysis components of the Getting Things Done (GTD) productivity methodology created by David Allen. GTD is a personal productivity system that emphasizes capturing all tasks and ideas in an external system, then organizing and prioritizing them for systematic execution.
Core GTD Principles Applied:
- Capture: Process TickTick CSV exports containing all captured tasks
- Clarify: Normalize and categorize tasks by context, effort, and time requirements
- Organize: Structure tasks into Projects, Next Actions, and Someday/Maybe lists
- Reflect: Analyze task patterns and productivity metrics through data visualization
- Engage: Identify high-impact tasks for strategic focus using five-dimension assessment
High-Impact Prioritization Framework:
The system evaluates tasks across five critical dimensions:
- Financial Impact: Tasks affecting financial situation (immediate and long-term)
- Career Growth: Professional advancement, skills, networking, credentials
- Home Foundation: Basic home functioning, safety, essential repairs
- Family Support: Practical and emotional support for family members
- Mental Bandwidth: Stress reduction, decision elimination, cognitive load management
Tag System Implementation:
- Context Tags:
1.@home
,1.@desktop
,1.@anywhere
,1.@errands
- Effort Tags:
2.high-effort
,2.low-effort
- Time Tags:
3.time-5m
,3.time-15m
,3.time-30m
,3.time-60m+
- Impact Tags:
4.high-impact
,4.waiting
,4.next-action
This data analysis pipeline supports the systematic identification of high-leverage activities that create disproportionate positive outcomes across these five life dimensions.
Get up and running quickly with basic task analysis. For advanced features, see Data Processing & Analysis.
-
Python Requirements
# Python 3.6+ required python3 --version
-
TickTick Export
- Export your TickTick data as CSV from TickTick web interface
- Place CSV file in the project directory
-
Optional: Virtual Environment
# Create virtual environment (recommended) python3 -m venv env source env/bin/activate # On Windows: env\Scripts\activate
-
Clone the repository
git clone https://github.com/jonathan-d-nguyen/gtd-ticktick-system.git cd gtd-ticktick-system
-
Add your TickTick CSV export
# Copy your TickTick export to the project directory cp ~/Downloads/TickTick-backup-2025-06-22.csv .
-
Normalize CSV export
# Normalize TickTick CSV format python3 csv-normalizer.py TickTick-backup-2025-06-22.csv
Output example:
Successfully normalized CSV file. Output saved to TickTick-backup-2025-06-22-normalized.csv Task Matrix by List Names: List Name Uncompleted Completed Cancelled Total --------------------------------------------------------------------------- Projects 23 45 2 70 OneOff Tasks 15 32 1 48 Waiting For 5 8 0 13
-
Interactive task analysis
# Display task matrix with interactive filtering python3 display_columns-interactive.py --menu
-
Quick analysis (default filters)
# Auto-analyze projects and oneoff tasks (uncompleted only) python3 display_columns-interactive.py
The csv-normalizer.py
script handles TickTick's non-standard CSV format:
TickTick CSV Issues Addressed:
- Removes metadata header (lines 1-6)
- Preserves multiline fields with proper quoting
- Handles Unicode characters and special formatting
- Creates standard CSV structure for data analysis
Usage:
# Basic normalization
python3 csv-normalizer.py input.csv
# The script automatically:
# 1. Removes first 6 metadata lines
# 2. Preserves column headers (line 7)
# 3. Properly quotes multiline content fields
# 4. Outputs: input-normalized.csv
Output Structure:
"Folder Name","List Name","Task Title","Start Date","Tags","Content","Priority","Due Date","Status"
"GTD","Projects","Review quarterly goals","","4.high-impact","Assess progress...","5","2025-06-30","0"
Generate comprehensive task statistics across all lists:
Features:
- Task counts by completion status (uncompleted, completed, cancelled)
- List-based organization
- Total task summaries
- Status distribution analysis
Matrix Output Example:
Task Matrix by List Names:
List Name Uncompleted Completed Cancelled Total
---------------------------------------------------------------------------
Projects 23 45 2 70
OneOff Tasks 15 32 1 48
Waiting For 5 8 0 13
Someday/Maybe 8 2 3 13
Reference 0 12 0 12
The system supports identification of high-leverage tasks using GTD methodology:
Five-Dimension Impact Assessment:
-
Financial Impact (1-5 scale)
- Immediate financial benefit
- Long-term financial security
- Passive income generation
- Expense reduction
-
Career Growth (1-5 scale)
- Skill development
- Network expansion
- Credential acquisition
- Professional advancement
-
Home Foundation (1-5 scale)
- Safety improvements
- Essential repairs
- Organization systems
- Infrastructure upgrades
-
Family Support (1-5 scale)
- Practical assistance
- Emotional support
- Educational support
- Health and wellness
-
Mental Bandwidth (1-5 scale)
- Stress reduction
- Decision elimination
- Process automation
- Cognitive load reduction
Usage in Analysis:
Tasks tagged with 4.high-impact
in TickTick are automatically highlighted in the analysis output for strategic focus during daily and weekly reviews.
The display_columns-interactive.py
script provides comprehensive filtering options:
Interactive Mode:
python3 display_columns-interactive.py --menu
Menu Features:
- CSV file selection (most recent first)
- Multi-list selection (Projects, OneOff Tasks, etc.)
- Status filtering (uncompleted, completed, cancelled)
- Combined criteria filtering
Default Mode (Automated):
python3 display_columns-interactive.py
Default Filters:
- Lists: Folder contains 'projects' OR list contains 'oneoff'
- Status: Uncompleted only
- Auto-selects most recent CSV file
Output Columns:
Filtered Tasks:
Task Title Folder List Tags Priority Content
Review quarterly objectives GTD Projects 4.high-impact High Assess progress against Q2 goals...
Update project documentation Work OneOff Tasks 2.low-effort Medium Document recent changes to...
Generated Files:
-
Normalized CSV:
input-normalized.csv
- Standard CSV format
- Ready for data analysis tools
- Preserves all original data
-
Task Matrix: Console output
- Summary statistics by list
- Status distribution
- Total counts
-
Filtered Tasks: Console output
- Task details with key metadata
- Priority indicators
- Content previews (first 100 characters)
Integration with Analysis Tools:
The normalized CSV files can be imported into:
- Excel/Google Sheets for pivot tables
- Tableau/Power BI for advanced visualization
- Pandas/R for statistical analysis
- Database systems for complex queries
-
Enhanced Impact Analysis
- Five-dimension scoring automation
- Confidence assessment integration
- Task recommendation engine
- Priority optimization algorithms
-
Advanced Visualization
- Task hierarchy tree (Parent/Child relationships)
- Productivity trend analysis
- Completion rate dashboards
- Time-based pattern recognition
-
API Integration
- Real-time TickTick API connectivity
- Live task analysis dashboard
- Automated data collection
- Historical trend analysis
-
Export Enhancements
- PDF report generation
- Excel template integration
- JSON export format
- Database export options
-
Core Pipeline
- CSV normalization with multiline field support
- Task matrix generation by list and status
- Interactive filtering system
- Default filter automation for GTD workflows
- Priority and tag analysis
- Content preview and metadata display
-
GTD Integration
- Context-based task categorization
- High-impact task identification
- Project vs. single-action distinction
- Status-based filtering (uncompleted, completed, cancelled)
See the open issues for a full list of proposed features (and known issues).
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Test with sample TickTick CSV data
- Update documentation as needed
- Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
- Test with various TickTick CSV export formats
- Verify Unicode and special character handling
- Ensure multiline content preservation
- Validate output CSV format compliance
- Test interactive menu functionality
When contributing:
- Use anonymized or example data only
- Do not include personal task content
- Exclude real TickTick exports from commits
- Use
*-example.csv
naming for sample files
Distributed under the MIT License. See LICENSE.txt
for more information.
Jonathan Nguyen - jonathan@jdnguyen.tech
Project Link: https://github.com/jonathan-d-nguyen/gtd-ticktick-system
- David Allen - Creator of the Getting Things Done methodology
- TickTick - For the task management platform and CSV export functionality
- Awesome README Template - For the documentation structure
- Python CSV Module - For robust CSV processing capabilities
- GTD Community - For productivity methodology insights and best practices