Skip to content

📅 Coordinate nudges with calendar events #87

@adrianwedd

Description

@adrianwedd

Summary

Create intelligent coordination between nudges and calendar events to provide seamless, context-aware support that respects meeting schedules and enhances productivity.

Core Coordination Features

Meeting Awareness

  • Pre-meeting preparation: 15-minute, 5-minute, and 1-minute meeting reminders with context
  • Do Not Disturb: Automatic nudge silencing during active meetings
  • Post-meeting transitions: Support for context switching after meetings end
  • Meeting type recognition: Different nudge behavior for different meeting types

Schedule Optimization

  • Nudge timing: Schedule break reminders between meetings
  • Focus block protection: Respect calendar focus time with minimal interruptions
  • Travel time awareness: Account for commute time in nudge scheduling
  • Buffer time utilization: Use small gaps for quick task nudges

Context-Aware Nudging

  • Meeting preparation: Suggest agenda review, materials gathering
  • Energy management: Schedule breaks during long meeting blocks
  • Task coordination: Align task reminders with available calendar slots
  • Priority adjustment: Urgent tasks get nudges before busy periods

Integration Scenarios

Daily Schedule Management

  • Morning: "Your first meeting is at 10am. You have 90 minutes for focused work!"
  • Pre-meeting: "5 minutes until 'Project Review' - time to gather your notes and take a breath."
  • Between meetings: "15 minutes until your next call. Perfect time for that quick email task!"
  • End of day: "Last meeting done! Time to capture any follow-ups before you switch off."

Focus and Productivity

  • "I see you have 2 hours blocked for 'Deep Work' - I'll keep nudges minimal. Go get 'em!"
  • "Your focus block ends in 15 minutes. Time to start wrapping up and preparing for your next meeting."
  • "Great job in that long meeting! Your brain needs a movement break before the next one."

ADHD-Specific Support

  • Transition warnings: "Big context switch coming - you have client calls after lunch. How are you feeling?"
  • Hyperfocus protection: "I notice you've been coding through your lunch break. Your 2pm meeting is in 30 minutes."
  • Executive function support: "Tomorrow is packed with meetings. Want to prep tonight while you're in planning mode?"

Technical Implementation

Calendar Integration

  • Google Calendar API integration with real-time sync
  • Outlook/Exchange calendar support
  • CalDAV support for other calendar systems
  • Event parsing and metadata extraction

Schedule Analysis

  • Meeting block detection and categorization
  • Free time identification and optimization
  • Meeting type classification (focus, social, admin, etc.)
  • Travel time and location awareness

Nudge Coordination Logic

  • Dynamic nudge scheduling based on calendar changes
  • Priority-based nudge queuing and rescheduling
  • Context-aware nudge suppression during meetings
  • Intelligent nudge batching for busy periods

Event-Driven Updates

  • Real-time calendar change notifications
  • Meeting start/end detection
  • Last-minute meeting additions/cancellations
  • Recurring event pattern recognition

Calendar Event Classification

Meeting Types

  • Focus blocks: Protected time requiring minimal interruptions
  • Admin time: Good for task reminder nudges
  • Social meetings: Preparation nudges for interpersonal context
  • Client calls: Higher-stakes meetings requiring extra preparation
  • Team meetings: Collaborative context nudges

Timing Considerations

  • Duration awareness: Different nudge strategies for 30min vs 3-hour blocks
  • Back-to-back detection: Special handling for consecutive meetings
  • All-day events: Recognition of holidays, conferences, focus days
  • Recurring patterns: Learning from weekly/monthly meeting rhythms

User Configuration

Nudge Timing Preferences

calendar_nudges:
  meeting_reminders: [15, 5, 1]  # Minutes before meetings
  focus_protection: true          # Minimal nudges during focus blocks
  transition_support: true        # Extra support for context switches
  preparation_nudges: true        # Meeting prep reminders
  
  meeting_types:
    "Client Call": 
      preparation_time: 15        # Extra prep time for client calls
      post_meeting_break: 5       # Mandatory break after client calls
    "Deep Work":
      protection_level: high      # Maximum protection for focus time
      interruption_threshold: urgent_only

Integration Settings

  • Meeting reminder timing customization
  • Focus block protection levels
  • Transition support preferences
  • Calendar-specific settings for work vs personal

Privacy and Permissions

  • Granular calendar access permissions
  • Meeting content privacy (title-only vs full details)
  • Opt-out options for sensitive calendar events
  • Local calendar data processing where possible

Acceptance Criteria

  • Calendar events are synchronized in real-time
  • Nudges are automatically suppressed during meetings
  • Pre-meeting preparation nudges are scheduled appropriately
  • Break reminders are inserted between long meeting blocks
  • Focus blocks are protected from non-urgent nudges
  • Meeting type classification affects nudge behavior
  • User preferences override default coordination behavior
  • System handles calendar changes gracefully
  • Works with multiple calendar accounts/types

Error Handling

  • Graceful degradation when calendar API is unavailable
  • Fallback nudge scheduling without calendar integration
  • Clear user communication about calendar connection status
  • Retry logic for temporary calendar service outages

Related to

Priority

High - Essential for seamless user experience integration

Testing Scenarios

  • Various meeting lengths and types
  • Back-to-back meeting handling
  • Last-minute meeting changes
  • All-day events and multi-day events
  • Recurring meeting patterns
  • Multiple calendar account scenarios
  • Offline/online calendar sync scenarios

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestmcp-coreCore MCP frameworkphase-2Phase 2 development tasks

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions