Tray-first Pomodoro for Windows. Start a focus block, close the window, and keep working. No browser tab to babysit, no account, no sync.
- Developers and makers who want a native timer that respects deep work and does not hijack the taskbar.
- Knowledge workers on Windows who already use the tray for tools they trust and want Pomodoro to behave the same way.
- Anyone allergic to “another dashboard”: presets, stats, and settings are there when you open them; the default mode is quiet.
| You want… | focusdot |
|---|---|
| State at a glance | Tray icon color shows phase without opening a window |
| Fast preset starts | Right-click tray: pick a preset or use the dashboard |
| Motivation, not nagging | Short Windows toasts plus daily stats (minutes, sessions, streak) |
| Your data, your machine | Everything under %AppData%\FocusDot\ as JSON (local only) |
- Presets: custom focus/break lengths, repeat cycles, optional auto-start of the next focus after break.
- Statistics: sessions today, focus minutes today, streak, weekly totals (updates as you complete focus blocks).
- Tray-first UX: left-click opens the dashboard; right-click has Settings, presets, and timer controls.
- Built with Tauri 2: small footprint, native notifications, real Windows integration.
- Open Releases — all versions live at
https://github.com/mingolladaniele/focusdot/releases. For the newest installer only, use Latest release. - Download
focusdot_<version>_x64_en-US.msi(Windows x64). - Run the MSI. focusdot starts in the tray only; look for the circle icon.
- Optional: Settings in the tray menu, then Launch on Windows startup.
Requires Node.js 20+, Rust stable, and Tauri 2 Windows prerequisites (WebView2, MSVC Build Tools).
| Goal | Command |
|---|---|
| Dev server | npm install then npm run tauri dev |
| Production + MSI | npm run build (alias: npm run build:installer) → MSI under src-tauri\target\release\bundle\msi\; frontend is built by Tauri beforeBuildCommand (npm run build:prod) |
| Production frontend only | npm run build:prod → dist/ |
| Tests | npm test (Vitest + cargo test). Also: npm run typecheck, npm run test:frontend, npm run test:rust |
src/ is the Vite + TypeScript dashboard; src-tauri/ is Rust (timer, tray, notifications, persistence). Bundled icon sources live in assets/.
MIT. See LICENSE for the full text.