|
| 1 | +# TimeLens Roadmap to v2.0.0 (Local-First) |
| 2 | + |
| 3 | +Last updated: 2026-05-10 |
| 4 | + |
| 5 | +## Vision |
| 6 | + |
| 7 | +Build TimeLens into a stable, extensible, privacy-first personal productivity desktop platform while keeping all user data local. |
| 8 | + |
| 9 | +## Non-Negotiable Principles |
| 10 | + |
| 11 | +- No cloud account system. |
| 12 | +- No cloud sync service. |
| 13 | +- No telemetry upload by default. |
| 14 | +- No user behavior data leaves the local device unless explicitly exported by the user. |
| 15 | +- Core data remains in local SQLite (with optional encrypted backup file export/import). |
| 16 | + |
| 17 | +## Scope Boundaries |
| 18 | + |
| 19 | +### In Scope |
| 20 | + |
| 21 | +- Local analytics and insights. |
| 22 | +- Local API for extensions and local tools (localhost only by default). |
| 23 | +- Local plugin/widget ecosystem with strict permission sandboxing. |
| 24 | +- Data portability (local JSON/CSV/export package). |
| 25 | + |
| 26 | +### Out of Scope |
| 27 | + |
| 28 | +- Any hosted backend dependency for core features. |
| 29 | +- Real-time cross-device cloud sync. |
| 30 | +- Cloud-based AI analysis of personal usage data. |
| 31 | + |
| 32 | +## Milestones |
| 33 | + |
| 34 | +### v1.2.0 (Data Reliability and Trust) |
| 35 | + |
| 36 | +Target window: 2026 Q2 |
| 37 | + |
| 38 | +### Product Goals |
| 39 | + |
| 40 | +- Make local data more reliable, diagnosable, and recoverable. |
| 41 | +- Expose data collection behavior to users in a transparent and understandable way. |
| 42 | + |
| 43 | +### Planned Features (Detailed) |
| 44 | + |
| 45 | +- Data Health Center: |
| 46 | + - Add local database integrity scan (schema check, index check, orphan row check). |
| 47 | + - Add timeline continuity check (detect missing days, abnormal zero-usage gaps). |
| 48 | + - Add repair assistant with dry-run preview before applying any fix. |
| 49 | +- Backup and Restore v2: |
| 50 | + - Export to compressed package (`.timelens-backup`) with manifest metadata. |
| 51 | + - Store app version, schema version, locale, and checksum in package manifest. |
| 52 | + - Add import compatibility checker and conflict handling strategy (overwrite/merge/new profile). |
| 53 | +- Data Retention Policy: |
| 54 | + - Add retention presets (3 months, 6 months, 12 months, keep all). |
| 55 | + - Add auto-archive task for old raw records into local archive tables/files. |
| 56 | + - Add retention impact preview (estimated storage saved before applying). |
| 57 | +- Tracking Transparency Panel: |
| 58 | + - Show currently tracked process/window fields in plain language. |
| 59 | + - Show write frequency and last N local writes. |
| 60 | + - Add one-click pause + reason display (who paused, when paused, why tracking stopped). |
| 61 | + |
| 62 | +### Engineering Breakdown |
| 63 | + |
| 64 | +- Frontend: |
| 65 | + - Add `DataHealth` page/module and cards in Settings. |
| 66 | + - Add restore wizard UI (validate -> preview -> execute -> result report). |
| 67 | + - Add retention policy controls with warning and undo guidance. |
| 68 | +- Backend (Rust Commands): |
| 69 | + - Add `check_data_integrity`, `scan_data_gaps`, `repair_data_issues` commands. |
| 70 | + - Add `export_backup_v2`, `import_backup_v2_validate`, `import_backup_v2_apply` commands. |
| 71 | + - Add `set_retention_policy`, `run_local_archive_now` commands. |
| 72 | +- Data Layer: |
| 73 | + - Add backup metadata schema and checksum validation. |
| 74 | + - Add archive tables/indexes for old usage slices. |
| 75 | + - Add migration guardrails and rollback markers. |
| 76 | + |
| 77 | +### QA and Validation |
| 78 | + |
| 79 | +- Run migration forward/backward tests on sample datasets from v1.0.0 and v1.1.0. |
| 80 | +- Validate backup round-trip with small, medium, and large datasets. |
| 81 | +- Validate repair workflow with intentionally corrupted sample data. |
| 82 | +- Verify all flows work with network disabled. |
| 83 | + |
| 84 | +### Exit Criteria |
| 85 | + |
| 86 | +- 100k+ records keep main dashboard interactions under acceptable latency targets. |
| 87 | +- Backup restore round-trip succeeds with checksum verification. |
| 88 | +- All data health checks and repairs are local-only and auditable in UI. |
| 89 | + |
| 90 | +### v1.4.0 (Local Intelligence and Workflow) |
| 91 | + |
| 92 | +Target window: 2026 Q3 |
| 93 | + |
| 94 | +### Product Goals |
| 95 | + |
| 96 | +- Upgrade insights from descriptive metrics to actionable local coaching. |
| 97 | +- Help users turn insights into repeatable daily habits. |
| 98 | + |
| 99 | +### Planned Features (Detailed) |
| 100 | + |
| 101 | +- Local Recommendation Engine: |
| 102 | + - Generate focus-window suggestions based on historical uninterrupted blocks. |
| 103 | + - Detect distraction hotspots using app-switch density and short-session ratio. |
| 104 | + - Recommend goal adjustments (too easy, too hard, realistic stretch). |
| 105 | +- Advanced Comparison: |
| 106 | + - Add week-over-week and month-over-month drill-down by app/category/project. |
| 107 | + - Add anomaly markers (spike/drop) with explanation text. |
| 108 | + - Add "what changed" summary cards for recent 7/30 days. |
| 109 | +- Local Rule Automation: |
| 110 | + - Add rules for auto pause/resume tracking in user-defined contexts. |
| 111 | + - Add local notifications for goal risk alerts and limit pre-alerts. |
| 112 | + - Add quiet hours and reminder cooldown controls. |
| 113 | +- Unified Timeline: |
| 114 | + - Merge desktop and browser sessions into one local chronological stream. |
| 115 | + - Add filters by source/app/domain/category and interruption markers. |
| 116 | + |
| 117 | +### Engineering Breakdown |
| 118 | + |
| 119 | +- Frontend: |
| 120 | + - New insight cards and explainability panels on Dashboard. |
| 121 | + - Rule builder UI with simulation mode. |
| 122 | + - Unified timeline viewer with virtualized list rendering. |
| 123 | +- Backend (Rust Commands): |
| 124 | + - Add deterministic scoring and suggestion commands. |
| 125 | + - Add comparative analytics commands with baseline windows. |
| 126 | + - Add local automation scheduler and rule evaluator. |
| 127 | +- Data Layer: |
| 128 | + - Add derived metrics tables for switch density, focus streak, interruption count. |
| 129 | + - Add incremental aggregation jobs to avoid full-range heavy queries. |
| 130 | + |
| 131 | +### QA and Validation |
| 132 | + |
| 133 | +- Golden dataset tests for recommendation determinism. |
| 134 | +- Property-based tests for aggregation correctness. |
| 135 | +- Performance tests for 365-day timeline rendering and query latency. |
| 136 | +- Verify explainability text always maps to concrete local factors. |
| 137 | + |
| 138 | +### Exit Criteria |
| 139 | + |
| 140 | +- Insight generation and rule evaluation are fully available offline. |
| 141 | +- Median dashboard load time improves compared with v1.1.0 baseline. |
| 142 | +- Users can see why each recommendation was made (no black-box outputs). |
| 143 | + |
| 144 | +### v1.6.0 (Widget and Extension Platform Maturity) |
| 145 | + |
| 146 | +Target window: 2026 Q4 |
| 147 | + |
| 148 | +### Product Goals |
| 149 | + |
| 150 | +- Make extensibility safe-by-default and predictable for third-party developers. |
| 151 | +- Keep all extension data exchange local, explicit, and permissioned. |
| 152 | + |
| 153 | +### Planned Features (Detailed) |
| 154 | + |
| 155 | +- Widget Permission Model v2: |
| 156 | + - Split permissions into read metrics, write data, automation trigger, and local API call. |
| 157 | + - Add runtime permission revocation with immediate effect. |
| 158 | + - Add per-permission risk labels and last access timestamp. |
| 159 | +- Widget SDK Stabilization: |
| 160 | + - Publish manifest spec `v2` and compatibility policy. |
| 161 | + - Provide local dev harness for widget preview and permission simulation. |
| 162 | + - Add official template upgrades and migration guide from old manifests. |
| 163 | +- VS Code Extension Integration: |
| 164 | + - Improve local session attribution accuracy for workspace/language. |
| 165 | + - Add coding focus indicators to TimeLens dashboard. |
| 166 | + - Add extension-side buffering for intermittent local API unavailability. |
| 167 | +- Local API Governance: |
| 168 | + - Add scoped localhost tokens and revocation list. |
| 169 | + - Add per-client allowlist and rate limits. |
| 170 | + - Add local API audit log view in settings. |
| 171 | + |
| 172 | +### Engineering Breakdown |
| 173 | + |
| 174 | +- Frontend: |
| 175 | + - Permission center redesign with per-widget capability matrix. |
| 176 | + - SDK docs portal updates and troubleshooting section. |
| 177 | + - API client manager UI for localhost consumers. |
| 178 | +- Backend (Rust Commands/API): |
| 179 | + - Introduce capability-aware permission middleware. |
| 180 | + - Add token issue/rotate/revoke command set. |
| 181 | + - Add audit log query commands with pagination. |
| 182 | +- Security: |
| 183 | + - Strengthen signature verification and checksum mismatch handling. |
| 184 | + - Enforce default-deny policy for third-party capabilities. |
| 185 | + |
| 186 | +### QA and Validation |
| 187 | + |
| 188 | +- Contract tests for widget API backward compatibility. |
| 189 | +- Security tests for permission bypass and token misuse scenarios. |
| 190 | +- Regression tests for official widgets under new permission model. |
| 191 | +- Localhost API disable mode test across extension and widgets. |
| 192 | + |
| 193 | +### Exit Criteria |
| 194 | + |
| 195 | +- Third-party widget onboarding path is documented and stable. |
| 196 | +- Permission revoke applies without app restart. |
| 197 | +- Local API can be disabled entirely and core app remains functional. |
| 198 | + |
| 199 | +### v2.0.0 (Local-First Platform Release) |
| 200 | + |
| 201 | +Target window: 2027 Q1 |
| 202 | + |
| 203 | +### Product Goals |
| 204 | + |
| 205 | +- Deliver a polished and reliable local-first productivity platform release. |
| 206 | +- Make privacy guarantees testable, visible, and enforceable. |
| 207 | + |
| 208 | +### Planned Features (Detailed) |
| 209 | + |
| 210 | +- Unified Insight Workspace: |
| 211 | + - Introduce narrative dashboards (daily review, weekly reflection, goal health). |
| 212 | + - Enable cross-module drill-down from summary -> category -> app -> session. |
| 213 | + - Add advanced date-range exploration with saved local views. |
| 214 | +- Privacy and Security Upgrade: |
| 215 | + - Provide optional encryption-at-rest for local database. |
| 216 | + - Add passphrase-protected backup export. |
| 217 | + - Consolidate all capability toggles in a single permission/security center. |
| 218 | +- Long-Term Data Lifecycle: |
| 219 | + - Introduce archival tiers (hot/warm/archive) managed locally. |
| 220 | + - Add historical compression options for old high-frequency records. |
| 221 | + - Add restore preview and diff summary before apply. |
| 222 | +- Platform Quality: |
| 223 | + - Guarantee migration path from supported 1.x versions. |
| 224 | + - Improve startup latency and reduce memory overhead on large datasets. |
| 225 | + - Complete accessibility and localization quality pass. |
| 226 | + |
| 227 | +### Engineering Breakdown |
| 228 | + |
| 229 | +- Frontend: |
| 230 | + - Dashboard IA refinement and reusable analytics component system. |
| 231 | + - Permission and privacy center final redesign. |
| 232 | + - Improved empty/error/loading states for all core pages. |
| 233 | +- Backend: |
| 234 | + - Encryption key lifecycle management (local only). |
| 235 | + - Unified migration runner with pre-check and post-verify phases. |
| 236 | + - Performance tuning for top N heavy queries and startup command path. |
| 237 | +- Release Engineering: |
| 238 | + - Add upgrade rehearsals from representative 1.x snapshots. |
| 239 | + - Add offline test matrix in CI for critical user journeys. |
| 240 | + |
| 241 | +### QA and Validation |
| 242 | + |
| 243 | +- Full end-to-end offline scenario testing across dashboard, widgets, backup, restore, and extension integration. |
| 244 | +- Security checklist verification for local storage, permission boundaries, and API exposure. |
| 245 | +- Long-run stability tests (multi-day local logging workload). |
| 246 | +- Accessibility checks for keyboard navigation and screen reader critical flows. |
| 247 | + |
| 248 | +### Release Gates (Must Pass) |
| 249 | + |
| 250 | +- Full offline usability for all primary user journeys. |
| 251 | +- Zero mandatory cloud dependency in architecture and runtime. |
| 252 | +- No hidden external upload channel for usage data. |
| 253 | +- Migration from supported 1.x versions passes integrity checks. |
| 254 | +- End-to-end privacy checklist is publicly documented. |
| 255 | + |
| 256 | +## Governance and Decision Rules |
| 257 | + |
| 258 | +- Any new feature proposal must include a local-first data flow design. |
| 259 | +- Any network capability must be optional, explicit, and disabled by default unless required for user-requested actions (for example manual update checks). |
| 260 | +- If a feature cannot deliver meaningful value without cloud processing, it is deferred or rejected for the 2.0 scope. |
| 261 | + |
| 262 | +## Risks and Mitigations |
| 263 | + |
| 264 | +- Risk: local dataset growth slows queries. |
| 265 | + - Mitigation: incremental aggregation, index tuning, archive strategy. |
| 266 | +- Risk: plugin ecosystem introduces safety concerns. |
| 267 | + - Mitigation: permission sandboxing, signature checks, stricter defaults. |
| 268 | +- Risk: feature growth reduces maintainability. |
| 269 | + - Mitigation: modular command boundaries, contract tests, release hardening cycles. |
| 270 | + |
| 271 | +## Tracking KPIs (Local Measurable) |
| 272 | + |
| 273 | +- Cold start time and dashboard first-render time. |
| 274 | +- Query latency at dataset sizes: 10k, 100k, 1M records. |
| 275 | +- Crash-free sessions rate. |
| 276 | +- Backup/restore success rate. |
| 277 | +- Permission prompt acceptance/revocation clarity (UX metric via local feedback prompt). |
| 278 | + |
| 279 | +## Communication Plan |
| 280 | + |
| 281 | +- Publish roadmap updates every minor release. |
| 282 | +- Mark each item with status: Planned, In Progress, Completed, Deferred. |
| 283 | +- Keep changelog and roadmap cross-referenced for traceability. |
0 commit comments