A simple, customizable, cross-platform Pomodoro-style interval timer.
- Configurable:
- Work session length
- Short break length
- Long break length
- Number of cycles before a long break
- Desktop notifications
- Three modes:
- GUI
- TUI
- CLI
- Lightweight & fast (Rust)
git clone https://github.com/yourname/tomato_timer.git
cd tomato_timerRequirements
bun
cd gui
bun tauri buildOutput is in gui/src-tauri/target/release/bundle/ as AppImage, deb and rpm.
cargo build --releasecd gui
bun tauri devcargo run --release -- --work 30 --short-break 5 --long-break 15 --cycles 4tomato_timerThis uses the defaults:
- Work: 25 minutes
- Short break: 5 minutes
- Long break: 20 minutes
- Cycles until long break: 4
tomato_timer --tuitomato_timer --work 30 --short-break 5 --long-break 15 --cycles 4tomato_timer -hPrints all the option
A customizable interval timer for alternating focused work and breaks.
Usage: tomato_timer [OPTIONS]
Options:
--tui Start the app in TUI mode
-w, --work <MINUTES> Minutes for each focused work session [default: 25]
-s, --short-break <MINUTES> Minutes for each short break [default: 5]
-l, --long-break <MINUTES> Minutes for the long break [default: 20]
-c, --cycles <CYCLES> Number of work sessions before a long break [default: 4]
-h, --help Print help (see more with '--help')
-V, --version Print version
- CLI.
clap - Terminal.
crossterm - Notifications.
notify-rust - Errors.
thiserror - TUI.
ratatui - GUI.
tauri,svelte
MIT License — feel free to use, modify, and distribute.




