docs(roadmap): update Phase 4 Weeks 10-14 — macOS, calendar, location, sleep, mood, GDPR, sharing, referrals

This commit is contained in:
saravanakumardb1 2026-02-27 22:59:55 -08:00
parent bebb566caf
commit 0311980bfe

View File

@ -615,56 +615,56 @@ ChronoMind ships in **5 phases over ~6 months**, from web MVP to full cross-plat
### Week 10-11: macOS + Calendar + Location
- [ ] **macOS menu bar app (`ChronoMindMac/`)** — deferred from Phase 3
- [ ] Menu bar icon: shows countdown of next timer
- [ ] Click → popover with mini timeline
- [ ] Quick timer creation from popover
- [ ] Notification center integration (UNUserNotificationCenter)
- [ ] Keyboard shortcut: `Cmd+Shift+T` → quick timer
- [ ] Share 90%+ code with iOS via Shared/ folder
- [x] **macOS menu bar app (`ChronoMindMac/`)** — deferred from Phase 3
- [x] Menu bar icon: shows countdown of next timer
- [x] Click → popover with mini timeline
- [x] Quick timer creation from popover
- [x] Notification center integration (UNUserNotificationCenter)
- [x] Keyboard shortcut: `Cmd+Shift+T` → quick timer
- [x] Share 90%+ code with iOS via Shared/ folder
- [ ] **Full calendar sync**
- [ ] Google Calendar OAuth 2.0 integration
- [ ] Apple Calendar (EventKit) read access
- [ ] Outlook Calendar (Microsoft Graph API) integration
- [ ] One-way sync: imported events become timers with auto-cascade (read-only — ChronoMind does NOT write back to calendars)
- [ ] Conflict resolution: calendar events take priority, manual timers preserved
- [ ] Sync frequency: every 15 minutes + on-demand refresh
- [ ] Visual distinction: synced events vs manual timers on timeline
- [ ] Web: OAuth flow in Next.js API routes
- [ ] iOS: EventKit for Apple Calendar, OAuth for Google/Outlook
- [x] **Full calendar sync**
- [ ] Google Calendar OAuth 2.0 integration (deferred — needs server-side OAuth)
- [x] Apple Calendar (EventKit) read access
- [ ] Outlook Calendar (Microsoft Graph API) integration (deferred — needs server-side OAuth)
- [x] One-way sync: imported events become timers with auto-cascade (read-only)
- [x] Conflict resolution: calendar events take priority via deterministic IDs
- [x] Sync frequency: every 15 minutes + on-demand refresh
- [x] Visual distinction: synced events tagged with `isCalendarSync` + calendar color
- [ ] Web: OAuth flow in Next.js API routes (deferred)
- [x] iOS: EventKit for Apple Calendar
- [ ] **Location-based triggers**
- [ ] iOS: CoreLocation geofencing (enter/exit region)
- [ ] "Remind me when I leave home" → geofence exit trigger
- [ ] "Remind me when I arrive at office" → geofence enter trigger
- [ ] Saved locations: Home, Work, Gym (user-configured)
- [ ] Privacy-first: all location processing on-device, no server tracking
- [ ] Web: use Geolocation API (less reliable, best-effort)
- [x] **Location-based triggers**
- [x] iOS: CoreLocation geofencing (enter/exit region)
- [x] "Remind me when I leave home" → geofence exit trigger
- [x] "Remind me when I arrive at office" → geofence enter trigger
- [x] Saved locations: Home, Work, Gym (user-configured, preset icons)
- [x] Privacy-first: all location processing on-device, no server tracking
- [ ] Web: use Geolocation API (deferred)
- [ ] **Travel time intelligence**
- [ ] Apple Maps API (MapKit) for travel time estimates
- [ ] "Your dentist appointment is in 45 minutes. Leave now — 28 min drive with current traffic."
- [ ] Auto-adjust pre-warning cascade based on real-time travel time
- [ ] Transport mode: driving, transit, walking (user preference per timer)
- [ ] Web: fallback to static estimate (user enters travel time manually)
- [x] **Travel time intelligence**
- [x] Apple Maps API (MapKit) for travel time estimates
- [x] Travel advisory messages: "Leave now — 28 min drive"
- [x] Auto-adjust pre-warning cascade based on real-time travel time
- [x] Transport mode: driving, transit, walking (user preference per timer)
- [ ] Web: fallback to static estimate (deferred)
### Week 12: Sleep + Wellness
- [ ] **Sleep integration**
- [ ] Bedtime routine: customizable wind-down sequence
- [ ] Smart alarm: set a wake window (e.g., 6:30-7:00) → alarm fires at optimal time
- [ ] Sleep tracking via HealthKit (Apple) — read sleep data, don't track directly
- [ ] "You slept 6h 20m. Shift your morning by 15 minutes?" (AI reschedule tie-in)
- [ ] Wind-down notifications: "Bedtime in 30 minutes — start winding down"
- [ ] Blue light reminder: "Consider turning on Night Shift"
- [x] **Sleep integration**
- [x] Bedtime routine: customizable wind-down sequence (4-step default)
- [x] Smart alarm: set a wake window (e.g., 6:30-7:00) with HealthKit optimization
- [x] Sleep tracking via HealthKit (Apple) — read sleep data, don't track directly
- [x] "You slept 6h 20m. Shift your morning by 15 minutes?" (AI reschedule tie-in)
- [x] Wind-down notifications: "Bedtime in 30 minutes" via UNCalendarNotificationTrigger
- [ ] Blue light reminder (deferred — no API to trigger Night Shift programmatically)
- [ ] **Mood/energy check-in**
- [ ] Quick check-in after completing a timer/routine: 😴 😐 😊 🔥 (4 energy levels)
- [ ] Correlate mood with time of day, timer type, sleep data
- [ ] Weekly insight: "You're most productive between 9-11 AM"
- [ ] Optional: prompt at consistent times (morning, post-lunch, evening)
- [ ] All data local — never sent to any server
- [x] **Mood/energy check-in**
- [x] Quick check-in after completing a timer/routine: 😴 😐 😊 🔥 (4 energy levels)
- [x] Correlate mood with time of day, timer type, sleep data
- [x] Weekly insight: "You're most productive between 9-11 AM" (peak hours + best day)
- [x] Optional: prompt at consistent times (morning, post-lunch, evening) with rate limiting
- [x] All data local — never sent to any server
- [ ] **Cloud sync (Apple-only via iCloud, privacy-first)**
- [ ] iCloud/CloudKit sync for Apple devices only (iPhone ↔ Mac ↔ Watch)
@ -675,10 +675,10 @@ ChronoMind ships in **5 phases over ~6 months**, from web MVP to full cross-plat
- [ ] TLS in transit + encrypted at rest in Cosmos DB (E2E encryption deferred — timer data is not sensitive enough to justify complexity)
- [ ] Delete account: wipes all cloud data immediately
- [ ] **Data export / account deletion (App Store + GDPR requirement)**
- [ ] "Export all my data" → JSON download of all timers, routines, stats
- [ ] "Delete my account" → wipe all cloud data, revoke tokens
- [ ] Required before App Store submission (Apple requirement since 2022)
- [x] **Data export / account deletion (App Store + GDPR requirement)**
- [x] "Export all my data" → JSON download of all timers, routines, stats, mood check-ins
- [x] "Delete my account" → wipe UserDefaults, App Group, iCloud KV, notifications, temp files
- [x] Required before App Store submission (Apple requirement since 2022)
- [ ] **Advanced NL parsing (upgrade path from chrono-node)**
- [ ] Define `timer-parse` extraction task in extraction-service (port 4005)
@ -696,18 +696,18 @@ ChronoMind ships in **5 phases over ~6 months**, from web MVP to full cross-plat
- [ ] Deep link back to ChronoMind (UTM tracked)
- [ ] **This is the #1 viral mechanic — make it irresistible to share**
- [ ] **Shareable timer**
- [ ] Create a timer and share link: "chronom.ind/t/abc123"
- [ ] Recipient opens link → timer auto-added to their ChronoMind
- [ ] Use case: "Here's the pasta recipe timing" / "Here's our meeting prep timer"
- [ ] Web link works without app (PWA fallback)
- [ ] iOS: Universal Link → opens app directly
- [x] **Shareable timer**
- [x] Create a timer and share link: "chronomind.app/t/abc123"
- [x] Recipient opens link → timer auto-added via `importFromURL`
- [x] Use case: "Here's the pasta recipe timing" / "Here's our meeting prep timer"
- [x] Web link works without app (PWA fallback URL)
- [x] iOS: Universal Link → `canHandleURL` + `extractShareCode`
- [ ] **Referral program**
- [ ] "Invite a friend → both get 1 month Pro free"
- [ ] Unique referral code per user
- [ ] Track referral chain
- [ ] Show referral count in profile
- [x] **Referral program**
- [x] "Invite a friend → both get 1 month Pro free"
- [x] Unique referral code per user (CM-XXXX format)
- [x] Track referral chain (incoming/outgoing history)
- [x] Show referral count + Pro reward months
- [ ] **ProductHunt launch prep**
- [ ] Maker profile + product page