Skip to main content

weekly-rotation


Weekly Rotation System

Schedule Everything features an intelligent weekly rotation system that automatically alternates between different schedules based on ISO week numbering.

How Weekly Rotation Works

The system uses the ISO 8601 week numbering standard to determine whether a week is odd or even:

  • Odd weeks: Weeks 1, 3, 5, 7, 9, etc.
  • Even weeks: Weeks 2, 4, 6, 8, 10, etc.

The ISO week numbering system ensures consistent week numbering across years and handles edge cases like weeks that span year boundaries.

Configuration Files

Odd Weeks (odd_weeks.toml)

Used during odd-numbered weeks. Typically contains:

  • More intensive work schedules
  • Focus-heavy activities
  • Longer work sessions

Even Weeks (even_weeks.toml)

Used during even-numbered weeks. Typically contains:

  • Lighter schedules
  • More breaks and flexibility
  • Meeting-heavy weeks

ISO Week Numbering

Understanding ISO Weeks

  • Week 1 is the first week with at least 4 days in the new year
  • Weeks start on Monday and end on Sunday
  • The system handles year transitions automatically

Examples

2024-W01 (January 1-7, 2024) → Uses odd_weeks.toml
2024-W02 (January 8-14, 2024) → Uses even_weeks.toml
2024-W03 (January 15-21, 2024) → Uses odd_weeks.toml

Checking Current Week

# Check current ISO week
date +%V

# Check if current week is odd or even
python3 -c "import datetime; print('Odd' if datetime.date.today().isocalendar()[1] % 2 else 'Even')"

Use Cases for Weekly Rotation

Alternating Work Intensity

odd_weeks.toml - High intensity:

[monday]
"08:00" = "deep_work"
"10:00" = "short_break"
"10:15" = "deep_work"
"12:00" = "lunch"
"13:00" = "deep_work"
"15:00" = "short_break"
"15:15" = "deep_work"

even_weeks.toml - Moderate intensity:

[monday]
"09:00" = "pomodoro"
"10:00" = "long_break"
"11:00" = "pomodoro"
"12:00" = "lunch"
"14:00" = "meeting"
"15:00" = "pomodoro"

Alternating Meeting Schedules

odd_weeks.toml - Meeting-heavy:

[monday]
"09:00" = { block = "meeting", title = "Team Standup" }
"10:00" = { block = "meeting", title = "Sprint Planning" }
"11:00" = { block = "meeting", title = "Client Review" }
"14:00" = { block = "meeting", title = "1-on-1 Meetings" }

even_weeks.toml - Focus time:

[monday]
"08:30" = "deep_work"
"10:30" = "long_break"
"11:30" = "deep_work"
"14:00" = "deep_work"

Alternating Personal Activities

odd_weeks.toml - Gym focus:

[monday]
"06:00" = { block = "exercise", title = "Strength Training" }
"18:00" = { block = "exercise", title = "Cardio Session" }

even_weeks.toml - Recovery focus:

[monday]
"06:30" = "meditation"
"18:00" = { block = "yoga", title = "Restorative Yoga" }

Advanced Rotation Patterns

Bi-weekly Sprints

Perfect for agile development teams:

odd_weeks.toml - Sprint weeks:

[monday]
"09:00" = { block = "planning", title = "Sprint Planning" }
"11:00" = "pomodoro"
"14:00" = "pomodoro"

[friday]
"14:00" = { block = "review", title = "Sprint Review" }
"15:00" = { block = "retrospective", title = "Sprint Retrospective" }

even_weeks.toml - Development weeks: