TICKTICK-SETUP.md•6.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."*