How vpwillwreckyou/momentum works
MOMENTUM is a local-first goal-planning application: users organize goals, tasks, milestones, and categories, with progress and recovery features; AI planning, accounts, and encrypted sync are optional extensions. The web client keeps workspace data in IndexedDB, while a Java service provides account, AI, sync, and hosting capabilities. Desktop and mobile shells reuse the web experience. Relationships for unsampled subsystems are included only where the README or source index supports them; some internal API routing details are not shown.
Main entry points: App.tsx Web application · MomentumService.java Service API · ServiceHost.java Windows desktop · PlannerPage.tsx AI planner
Components 18
Web experience
- Web application
apps/web/src/App.tsx - Goals and progress
apps/web/src/pages - AI planner
apps/web/src/pages/PlannerPage.tsx - Account settings
apps/web/src/pages/AuthPage.tsx
Local workspace
- Workspace state
apps/web/src/state/MomentumContext.tsx - Local repository
apps/web/src/lib/repository.ts - IndexedDB
apps/web/src/lib/db.ts
Java service
- Service API
services/api/src/main/java/dev/momentum/MomentumService.java - AI proxy
services/api/src/main/java/dev/momentum/ai/AiProxy.java - SQLite database
services/api/src/main/java/dev/momentum/data/Database.java - SQL repository
services/api/src/main/java/dev/momentum/data/SqliteRepository.java
Accounts and sync
- Account store
services/api/src/main/java/dev/momentum/auth/AccountStore.java - OAuth
services/api/src/main/java/dev/momentum/auth/OAuthService.java - Encrypted sync
services/api/src/main/java/dev/momentum/sync/SyncStore.java
Platform shells
- Windows desktop
apps/desktop-fx/src/main/java/dev/momentum/desktop/host/ServiceHost.java - Mobile shells
apps/mobile
Other components
- User
- AI provider
Connections 20
- User → Web application: uses
README.md - Web application → Workspace state: loads state
apps/web/src/App.tsx - Web application → Goals and progress: routes to
apps/web/src/App.tsx - Web application → AI planner: routes to
apps/web/src/App.tsx - Web application → Account settings: routes to
apps/web/src/App.tsx - Workspace state → Local repository: loads and saves
apps/web/src/state/MomentumContext.tsx - Local repository → IndexedDB: reads and writes
apps/web/src/lib/repository.ts - AI planner → Service API: requests planning
README.md - Account settings → Service API: uses optional API
README.md - Service API → Account store: delegates accounts
services/api/src/main/java/dev/momentum/MomentumService.java - Service API → OAuth: delegates OAuth
services/api/src/main/java/dev/momentum/MomentumService.java - Service API → Encrypted sync: reads and writes sync
services/api/src/main/java/dev/momentum/MomentumService.java - Service API → AI proxy: delegates AI
services/api/src/main/java/dev/momentum/MomentumService.java - AI proxy → AI provider: proxies requests
README.md - Windows desktop → SQLite database: opens local store
apps/desktop-fx/src/main/java/dev/momentum/desktop/host/ServiceHost.java - Windows desktop → SQL repository: runs repository actions
apps/desktop-fx/src/main/java/dev/momentum/desktop/host/ServiceHost.java - SQLite database → SQL repository: provides connection
services/api/src/main/java/dev/momentum/data/SqliteRepository.java - User → Windows desktop: launches
README.md - User → Mobile shells: uses
README.md - Mobile shells → Web application: bundles same app
README.md