How dombialcz/overrun-lite works
Overrun Lite is a local-first, AI-assisted daily planner. Users create and edit day tasks or backlog items, organize them on a calendar, and optionally submit brain dumps or task requests for AI proposals; proposals are reviewed and edited before application. Signed-in users can sync a revision-checked planner document through Supabase, while guests retain browser-local data. The graph reflects the documented product capabilities and sampled call paths; several UI and export/import responsibilities are assigned to app.js based on the README, without inferring their internal wiring.
Main entry points: app.js Planner application · plan.js Hosted planner API · _supabase.js Supabase access · cloud.js Cloud account and sync
Components 19
Planner experience
- Planner application
app.js - Task editor
app.js - Day calendar
app.js - Task backlog
app.js - Browser planner state
app.js - Theme preference
theme.js - Browser storage
AI planning
- Proposal review
app.js - AI request contract
aiContract.js - Local AI endpoint
Accounts and sync
- Cloud account and sync
cloud.js - Invite link handling
authLink.js
Backend services
- Hosted planner API
api/plan.js - Configuration API
api/config.js - AI usage API
api/ai-usage.js - Hosted AI provider
- Supabase access
api/_supabase.js - Supabase Auth and Postgres
Other components
- Planner user
Connections 33
- Planner user → Task editor: creates or edits
- Task editor → Browser planner state: saves draft
- Planner user → Day calendar: organizes day
- Day calendar → Browser planner state: updates planner
- Planner user → Task backlog: manages tasks
- Task backlog → Browser planner state: updates planner
- Planner application → Browser planner state: reads and writes
- Planner application → Browser storage: stores preferences
- Theme preference → Browser storage: reads preference
- Planner user → Planner application: uses planner
- Planner application → AI request contract: builds AI request
- Planner application → Local AI endpoint: sends local request
- Planner application → Hosted planner API: sends authenticated request
- Hosted planner API → AI request contract: builds and validates payload
- Hosted planner API → Supabase access: checks user and reserves quota
- Hosted planner API → Hosted AI provider: requests completion
- Hosted AI provider → Hosted planner API: returns completion
- Hosted planner API → Supabase access: releases quota on failure
- Planner application → Proposal review: opens proposal review
- Proposal review → Browser planner state: applies approved changes
- Planner application → Cloud account and sync: starts account and sync flows
- Planner application → Configuration API: loads capabilities
- Planner application → AI usage API: refreshes usage
- Cloud account and sync → Configuration API: loads cloud config
- Cloud account and sync → Invite link handling: validates invite links
- Cloud account and sync → Supabase Auth and Postgres: authenticates and syncs planner
- Cloud account and sync → Browser storage: caches account state
- Configuration API → Supabase access: checks auth configuration
- AI usage API → Supabase access: reads quota usage
- Supabase access → Supabase Auth and Postgres: validates users and accesses data
- Supabase access → Hosted planner API: returns user context
- Supabase access → AI usage API: returns usage data
- Planner user → Cloud account and sync: signs in or syncs