How getyourwish/performance-tracker works
Performance Tracker is a local-first Windows and Android app for recording completed work in a portable tracker.json file. The main workflow is to set a data location, add and arrange board tasks, complete a task with difficulty/date/note, score it, then review history. The graph separates shared domain rules, desktop, Android, and file-backed persistence. README capabilities are included where their modules are identifiable; some screen wiring and desktop persistence calls are only partially sampled, so uncertain links are omitted.
Main entry points: src/App.jsx Desktop app · mobile/App.jsx Android app · store.js Tracker store · index.js Core rules
Components 24
Shared domain rules
- Core rules
packages/core/index.js - Completion scoring
packages/core/src/scoring.js - Category rules
packages/core/src/categories.js - Schema and healing
packages/core/src/schema.js
Windows desktop
- Desktop app
desktop/src/App.jsx - Task board
desktop/src/components/Board.jsx - Reviews
desktop/src/components/Reviews.jsx - Settings
desktop/src/components/Settings.jsx - Desktop host
desktop/electron/main.cjs - Desktop bridge
desktop/electron/preload.cjs - Setup screen
desktop/src/components/SetupScreen.jsx
Android companion
- Android app
mobile/App.jsx - Tracker binding
mobile/src/hooks/useTracker.js - Task board
mobile/src/components/BoardScreen.js - Reviews
mobile/src/components/ReviewsScreen.js - Settings
mobile/src/screens/SettingsScreen.js - Setup screen
mobile/src/screens/SetupScreen.js
Local file data
- Tracker store
mobile/src/storage/store.js - Folder access
mobile/src/storage/saf.js - tracker.json
- Backup handling
mobile/src/storage/backups.js - File recovery
mobile/src/storage/salvage.js
Other components
- User
- Syncthing
Connections 28
- User → Desktop app: uses
- User → Android app: uses
- Desktop app → Setup screen: shows setup
- Desktop app → Task board: renders
- Desktop app → Reviews: renders
- Desktop app → Settings: renders
- Desktop app → Core rules: validates and scores
- Desktop app → Desktop bridge: requests data
- Desktop bridge → Desktop host: dispatches IPC
- Desktop host → tracker.json: reads and writes
- Desktop host → User: opens folder picker
- Task board → Desktop app: submits actions
- Reviews → Core rules: calculates review totals
- Android app → Tracker binding: binds tracker state
- Android app → Setup screen: shows setup
- Android app → Task board: renders
- Android app → Reviews: renders
- Android app → Settings: renders
- Android app → Core rules: updates settings
- Tracker binding → Tracker store: creates and refreshes
- Tracker binding → Folder access: requests folder access
- Tracker store → Folder access: uses adapter
- Tracker store → tracker.json: reads and writes
- Tracker store → Core rules: validates and defaults
- Tracker store → Backup handling: selects backups
- Tracker store → File recovery: recovers damaged data
- Syncthing → tracker.json: syncs file
- tracker.json → Tracker store: external changes