A minimal Windows desktop Pomodoro timer.
- 25-minute focus sessions with short and long breaks
- 4-session cycles (Focus → Break → Focus → Break → Focus → Break → Focus → Long Break)
- Goal setting dialog when starting a focus session
- Quick-capture todos during focus sessions (right-click menu)
- Results dialog when a focus session completes (includes captured todos)
- Session statistics tracking with historical data
- View Stats report (right-click → View Stats) - generates an HTML report with:
- Today's stats (sessions, focus time, break time, cycles)
- Today's individual sessions with goals and results
- All-time totals
- Daily history with expandable session details
- Sound notifications on session completion
- State persistence across restarts
- Compact, always-on-top window
- System tray icon with color-coded session state and context menu
- Slack integration - automatically sets status and enables Do Not Disturb during focus sessions
During a focus session, right-click and select "Add Todo" to quickly capture a thought or task. Todos are displayed:
- When the session completes normally (in the feedback dialog)
- When you stop a session early that has captured todos (in a dedicated todos dialog)
Todos are formatted as markdown checkboxes for easy copy/paste:
- [ ] Buy groceries
- [ ] Call mom
- [ ] Review PRTodos are temporary and cleared after you start a new focus session.
Tomato can automatically update your Slack status and enable Do Not Disturb when you start a focus session.
- Create a Slack App at api.slack.com/apps
- Add the following OAuth scopes under "User Token Scopes":
users.profile:write- to set your statusdnd:write- to enable Do Not Disturb
- Install the app to your workspace and copy the "User OAuth Token" (starts with
xoxp-) - Run
Tomato.exe --setup-slackand paste your token - Click "Test Connection" to verify it works, then "Save"
- Focus session starts: Status changes to 🍅 "Focus time" and DND is enabled
- Focus session ends: Status is cleared and DND is disabled
- Breaks: No changes to Slack status
Your token is stored encrypted using Windows DPAPI at %LOCALAPPDATA%\Tomato\slack.json.
Download the latest release from the Releases page.
Extract the zip and run Tomato.exe.
Requires .NET 8.0 SDK.
dotnet build Tomato.sln
dotnet run --project Tomato/Tomato.csprojdotnet test Tomato.sln







