Read this in: English | 简体中文 | Español
Modern frontend-only Pomodoro app built with React + TypeScript + Tailwind CSS.
Includes tasks, analytics, multilingual UI, dark mode, and installable PWA support.
- GitHub Pages: https://bingoyb.github.io/tomaflow/
- Cloudflare Pages: https://tomaflow.pages.dev/
- Vercel: https://tomaflow.vercel.app/
- Demo mode: append
#demoto the URL - Example:
https://bingoyb.github.io/tomaflow/#demo
- React 18
- TypeScript 5
- Vite 5
- Tailwind CSS 3
- Recharts
- vite-plugin-pwa
- Pomodoro modes:
Work / Short Break / Long Break - Notifications: sound + system notifications
- Task management: create, focus, complete, reopen, delete, drag-sort
- Analytics: totals, focus rate, daily breakdown, line/pie/bar charts
- Settings: durations, sound preset, volume, notification toggle, shortcuts
- Internationalization: 10 languages
- Themes: light and dark
- PWA: installable + offline cache
- Vercel: click the
Deploy with Vercelbutton above - Cloudflare Pages: click the
Deploy to Cloudflare Pagesbutton above, then import this GitHub repo
This project now supports multiple deployment targets through VITE_BASE_PATH:
- GitHub Pages:
VITE_BASE_PATH=/tomaflow/ - Vercel: default
/ - Cloudflare Pages: default
/
Implemented config:
vite.config.ts: dynamicbase, PWAstart_url, andscope.github/workflows/deploy-pages.yml: setsVITE_BASE_PATH=/tomaflow/during buildvercel.json: Vite build/output + SPA rewritewrangler.toml: Cloudflare Pages output directorypublic/_redirects: SPA fallback for Pages-style hosting
npm install
npm run devnpm run build
npm run preview
