trainer/TODO.md
2025-08-24 12:13:05 -05:00

3.9 KiB

📋 TODO Roadmap

Phase 1: Core Foundation

  • Project Setup

    • Initialize Python project structure
    • Set up virtual environment and dependencies
    • Create base workout and tracker models
    • Implement local JSON storage
  • Basic GUI (Tkinter)

    • Main window layout
    • Manual workout entry form
    • Workout list display
    • Basic stats (total/remaining distance)
  • Core Workout Tracking

    • Workout model (date, activity, distance, duration, notes, power, cadence)
    • Tracker logic (totals, weekly summaries, goal progress)
    • CRUD operations for workouts
    • Data validation and error handling

Phase 2: Equipment Management 🔧

  • Equipment Discovery & Selection

    • Scan for all available BLE/ANT+ devices
    • Device type detection (trainer vs power meter vs HR monitor)
    • Equipment selection UI (dropdown/list with device info)
    • Save preferred equipment to user settings
  • Multi-Device Support

    • Connect to multiple devices simultaneously (trainer + HR + cadence)
    • Handle device priority (e.g., power from trainer vs power meter)
    • Device connection status indicators
    • Automatic reconnection on disconnect
  • Equipment Profiles

    • Create equipment profiles (e.g., "Indoor Setup", "Outdoor Setup")
    • Quick-switch between profiles
    • Profile-specific calibration settings
    • Equipment-specific data recording preferences

Phase 3: Saris H3 Integration 🔄

  • Bluetooth Low Energy Connection

    • Device discovery and pairing
    • Connect to Saris H3 via bleak
    • Handle connection errors and reconnection
  • Live Data Capture

    • Read power data (Cycling Power Service)
    • Read speed/cadence (Fitness Machine Service)
    • Real-time display in GUI
    • Data logging during rides
  • Automatic Ride Detection

    • Start ride detection (power > threshold)
    • Stop ride detection (power = 0 for X seconds)
    • Auto-save completed rides to tracker
    • Ride summary popup
  • Trainer Control (Future)

    • ERG mode (set target watts)
    • Resistance/slope control
    • Structured workout execution

Phase 4: Data Visualization 📊

  • Charts and Analytics

    • Weekly mileage chart (matplotlib)
    • Power curve visualization
    • Progress toward goal chart
    • Training load trends (if data available)
  • Enhanced UI

    • Tabbed interface (Overview, Rides, Charts, Settings)
    • Dark mode toggle
    • Responsive layout improvements

Phase 5: External Integrations 🔗

  • Intervals.icu Integration

    • API authentication (personal API key)
    • Push workouts to Intervals.icu
    • Pull planned workouts
    • Sync status indicators
    • Error handling for API calls
  • COROS Training Hub Integration

    • Research API availability (likely requires reverse engineering)
    • Implement authentication
    • Push/pull workout data
    • Fallback: FIT/TCX file export for manual upload
  • File Import/Export

    • Import FIT/TCX/GPX files (outdoor rides)
    • Export to CSV
    • Backup/restore functionality

Phase 6: Polish & Features

  • User Experience

    • Settings panel (goals, API keys, preferences)
    • Workout editing/deletion
    • Search and filter workouts
    • Keyboard shortcuts
  • Advanced Features

    • Multi-user profiles
    • Workout planning calendar
    • Training zones configuration
    • Custom goal setting

Phase 7: Future Enhancements 🚀

  • Cloud & Mobile

    • Cloud sync (Dropbox/Google Drive)
    • Mobile companion app
    • Web dashboard
  • Advanced Analytics

    • Training Stress Score (TSS) calculation
    • Chronic Training Load (CTL/ATL)
    • Performance modeling
    • Race prediction