# TimeToLeave - Post-MVP Improvements Plan > **Last updated:** 2026-05-19 > This plan reflects the current state of the codebase after the initial MVP and mobile rewrite. ## Already Implemented (No Longer TODO) The following items from earlier versions of this plan have been completed and are in production: - **Native Calendar Import** — `expo-calendar` integration with device calendar sync, permission requests, and multiple calendar source selection. - **Push / Local Notifications** — `expo-notifications` with local notification scheduling. Server-side push (FCM/APNs) for live journey updates remains deferred. - **Dark / Light Theming** — System theme following and manual dark/light toggle on both web and mobile. - **Auto-Refresh** — `useFocusEffect`-based refresh on mobile when returning to foreground. --- ## High Priority ### 1. Offline-First Architecture - Cache journey and route data in `AsyncStorage` / `localStorage` for offline viewing. - Background sync when connection is restored. - Add explicit "offline mode" UI indicators. - Conflict resolution for concurrent event edits. ### 2. Real Map Integration - Integrate `expo-maps` / `@vis.gl/react-google-maps` for visual route display. - Show origin, destination, and train stations on a map. - Display bike route with turn-by-turn directions. - Alternative route suggestions (e.g., faster vs. fewer changes). ### 3. Multiple Origins Support - Allow different origins per event (Home, Work, Custom presets). - Quick origin switching in event detail and settings. - Store origin presets in persistent settings. --- ## Medium Priority ### 4. Server-Side Push Notifications - Implement FCM for Android and APNs for iOS for real-time journey disruption alerts. - Real-time delay/cancellation push notifications. - Fallback to local notifications when the server is unreachable. ### 5. Accessibility - TalkBack / VoiceOver screen reader support on mobile. - Dynamic type scaling. - High contrast mode. - WCAG 2.1 AA compliance audit on web. ### 6. Analytics & Crash Reporting - Integrate Sentry for error tracking on web and mobile. - Opt-in usage analytics. - Performance monitoring (Web Vitals, React Native startup time). - In-app user feedback collection. --- ## Lower Priority ### 7. Advanced Features - Shared events with friends / family (collaborative departure planning). - Recurring event templates. - Journey history and statistics dashboard. - Export / import event data (ICS, JSON). --- ## Technical Debt & Quality ### 8. Code Quality - Extract shared hooks to `packages/hooks` (deduplicate web and mobile hook implementations). - Increase unit test coverage across all packages. - Add Playwright E2E tests for web critical flows. - Add Detox E2E tests for mobile critical flows. - Bundle size analysis and reduction. ### 9. Developer Experience - Consolidate ESLint to Flat Config everywhere. - Add pre-commit hooks (`husky` + `lint-staged`). - Add GitHub Actions CI pipeline. - Architecture Decision Records (ADRs) in `docs/adr/`. ### 10. Documentation - Keep `POST_MVP_PLAN.md` and `CHECKLIST.md` in sync with reality. - Contributing guidelines (`CONTRIBUTING.md`). - API versioning policy once the backend grows.