## **📋 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