Skip to main content
Glama
TICKTICK-SETUP.md6.58 kB
# TickTick Integration for Health & Marriage Tracking This system automates your Health & Marriage tracking using TickTick's API. ## Why TickTick? **Advantages over Notion for this use case:** - ✓ **Recurring tasks** - Daily/weekly check-ins happen automatically - ✓ **Mobile apps** - Track anywhere (iOS/Android) - ✓ **Reminders** - Never miss a check-in or weigh-in - ✓ **Habit tracking** - See your exercise streaks - ✓ **Calendar view** - Visualize your schedule - ✓ **Offline support** - Works without internet - ✓ **Simple API** - Easy to automate and extend ## What Gets Created ### Projects (Lists) 1. **Marriage** (Pink) - Weekly check-ins and relationship tracking 2. **Health** (Green) - Daily exercise, mood, and weekly weigh-ins 3. **Milestones** (Orange) - 30/60/90/180-day targets ### Recurring Tasks **Marriage:** - Sunday Marriage Check-in (8pm weekly) - Includes 6-question framework - 30-minute time block - High priority - Monthly Marriage Review **Health (Daily):** - Morning Movement (30 min) - Track Mood (1-10) - Water (64 oz) - In Bed by 10:30pm **Health (Weekly):** - Weekly Weigh-in (Sunday morning) - Sunday Meal Prep - Weekly Health Review **Milestones:** - 30-Day Check (marriage + health targets) - 90-Day Check (major goals) - 6-Month Vision (transformation targets) ## Installation ### 1. Install Python Dependencies ```bash pip install -r requirements.txt ``` This installs: - `ticktick-py` - TickTick API client - `python-dotenv` - Environment variable management ### 2. Configure Credentials Add your TickTick credentials to `.env`: ```bash TICKTICK_USERNAME=your-email@example.com TICKTICK_PASSWORD=your-password ``` **Security Note:** TickTick uses OAuth2 authentication. Your credentials are used once to get an OAuth token, which is then cached locally. ### 3. Run Setup ```bash python ticktick_setup.py --setup ``` This will: 1. Authenticate with TickTick 2. Create 3 projects (Marriage, Health, Milestones) 3. Create all recurring tasks 4. Set up priorities and schedules **First-time setup takes ~30 seconds** ## Usage ### View Current Status ```bash python ticktick_setup.py --status ``` Shows all active tasks grouped by project. ### Manual Task Creation You can also add tasks manually in TickTick: - Open app/web - Choose project (Marriage/Health/Milestones) - Create task - Set recurrence if needed ## The Daily Workflow ### Morning (Before Work) 1. Complete "Morning Movement (30 min)" ✓ 2. Track mood score in task notes ### Evening (Wind Down) 1. Check "Water (64 oz)" ✓ 2. Complete "In Bed by 10:30pm" ✓ ### Sunday Routine 1. **Morning:** Complete "Weekly Weigh-in" - record weight 2. **Afternoon:** Complete "Sunday Meal Prep" 3. **Evening (8pm):** Complete "Sunday Marriage Check-in" - Use 6-question framework in task description - Mark complete when done ## TickTick Features to Use ### Calendar View - See all tasks on timeline - Visualize exercise days vs gaps - Spot patterns ### Habit Tracker TickTick automatically tracks: - Exercise streaks (consecutive days) - Check-in consistency - Mood tracking frequency ### Reminders Each task can have reminders: - "Morning Movement" → 7am reminder - "Sunday Check-in" → 7:30pm reminder (30 min before) - "Weigh-in" → Sunday 8am ### Tags (Future Enhancement) You can add tags to categorize: - `#marriage` `#health` `#mental-health` - `#daily` `#weekly` `#monthly` - `#high-impact` `#non-negotiable` ## Customization ### Change Recurring Schedule Edit `ticktick_setup.py` and modify the RRULE: ```python # Daily task repeat="RRULE:FREQ=DAILY;INTERVAL=1" # Weekly on Sunday repeat="RRULE:FREQ=WEEKLY;BYDAY=SU" # Every 3 days repeat="RRULE:FREQ=DAILY;INTERVAL=3" # Weekdays only (Mon-Fri) repeat="RRULE:FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR" ``` ### Adjust Priorities Priority levels in the code: - `5` = High (red) - `3` = Medium (yellow) - `1` = Low (blue) - `0` = None (no color) ### Add New Tasks Add to the appropriate function in `ticktick_setup.py`: ```python task = self.client.task.builder( title="New Task Name", content="Task description and notes", projectId=project_id, priority=3, repeat="RRULE:FREQ=DAILY;INTERVAL=1" ) self.client.task.create(task) ``` Then re-run: `python ticktick_setup.py --setup` ## Integration with Existing System ### Logs Directory Structure Your existing log files can stay in `logs/`: ``` logs/ marriage-checkins/ # Weekly marriage logs health-tracking/ # Weight, exercise, mood wins/ # Celebrate progress ``` ### Sync Strategy **Option 1: Manual Sync** - Complete tasks in TickTick during the day - Copy data to markdown logs weekly **Option 2: Automated Sync (Future)** - Script reads completed TickTick tasks - Generates markdown log entries - Commits to git automatically ## Troubleshooting ### Authentication Failed ```bash ValueError: TICKTICK_USERNAME and TICKTICK_PASSWORD must be set ``` **Fix:** Add credentials to `.env` file ### Tasks Not Appearing - Check TickTick web/app to verify projects were created - Run `--status` to see what exists - Delete projects and re-run `--setup` ### Duplicate Tasks If you run `--setup` multiple times, it creates duplicates. **Fix:** Delete projects in TickTick app, then re-run setup. ## Advanced: API Access for Custom Scripts The `HealthMarriageTracker` class can be imported: ```python from ticktick_setup import HealthMarriageTracker tracker = HealthMarriageTracker() # Create custom task task = tracker.client.task.builder( title="Custom Health Task", projectId=tracker.projects['Health'] ) tracker.client.task.create(task) # Get all tasks tasks = tracker.client.state['tasks'] for task in tasks: print(task['title'], task.get('status')) ``` ## Next Steps 1. **Install**: `pip install -r requirements.txt` 2. **Configure**: Add credentials to `.env` 3. **Setup**: `python ticktick_setup.py --setup` 4. **Use**: Open TickTick app and start checking off tasks! ## Migration from Notion If you have existing Notion data: 1. **Export Notion data** to markdown/CSV 2. **Parse important entries** (past check-ins, weight history) 3. **Add as TickTick task notes** or keep in `logs/` directory 4. **Use TickTick going forward** for daily tracking **You can keep both systems:** - TickTick = Active tracking (daily/weekly tasks) - Markdown files = Historical record (permanent logs) - Git = Version control (track changes over time) --- *"The best system is the one you actually use. TickTick makes it easy to show up daily."*

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/kbadinger/ticktickmcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server