Veewoo Timer is a Next.js PWA (Progressive Web App) that works as a daily task timer with a Pomodoro-style 25-minute focus timer. You pick tasks, run the timer, and it tracks time per task.
Task and active-timer changes are saved to this browser first, so previously loaded tasks remain usable offline. Changes that cannot reach Google Sheets are queued locally and retried when the connection returns or when you use the Sync button. Pending local changes take precedence over the sheet until they sync. Local data is specific to the browser/device and is cleared if its site data is removed.
- Framework — Next.js, React
- Language — TypeScript
- UI — Chakra UI, react-icons
- Data & state — TanStack React Query
- Database — Google Sheets (via Google Sheets API)
- PWA — Service worker with offline app-shell caching
- Node.js (v18 or later recommended)
- npm (or yarn / pnpm / bun)
npm installStart the development server:
npm run devOpen http://localhost:3000 in your browser.
Build the app:
npm run buildRun the production server:
npm run startnpm run lintRun the test suite once:
npm testWatch mode during development:
npm run test:watchGenerate a coverage report:
npm run test:coverage