Focusator is a lightweight focus-training web app built with React and Vite. It presents short missions made of small cognitive challenges designed around low-friction interaction, clear feedback, and an app-like single-screen flow. The app is now packaged as an installable PWA with offline support after the first load.
- Mission-based session flow with brief, repeatable challenge loops
- Installable PWA experience with standalone display mode
- Service worker caching for app-shell assets and same-origin runtime requests
- Local progress tracking for streaks, completed missions, and per-challenge stats
- Configurable experience settings such as calm mode, larger text, mission length, and theme
- Static-build friendly setup for simple hosting targets
- React 19
- Vite 8
- Lucide React
- Vanilla CSS with design tokens and responsive utilities
localStoragefor persistence
npm install
npm run lint
npm run buildvite.config.js uses base: './' so the generated app works correctly on static hosts that do not serve the site from the domain root.
In supported browsers, Focusator exposes an install button on the home screen once the PWA install prompt becomes available. The production build ships:
public/manifest.webmanifestpublic/sw.js- app icons for Android and Apple launch surfaces