A minimal, high-performance Pomodoro timer written in Odin using Metal for graphics on macOS.
Important
LLM Assistance Disclaimer: This project was developed with significant assistance from a Large Language Model (LLM).
- Metal-accelerated UI: Smooth rendering using macOS native graphics API.
- Top-most window: Stays on top of other windows to keep you focused.
- Configurable: Setup your work and break durations via CLI flags or a JSON settings file.
- Automatic Transitions: Automatically cycles between Work, Short Break, and Long Break (after 4 pomodoros).
- Odin compiler
- macOS with Metal support
- SDL2 (
brew install sdl2)
Use the provided Makefile to build the project:
make buildThe executable pomodoro will be generated in the project root.
You can run the application directly or via make:
make runSpace: Pause / Resume timer.S: Skip to the next state.Cmd + ,: Open settings UI (requires Swift).Cmd + Q: Quit (standard macOS window close).
The app loads settings from ~/.pomodoro_settings.json. You can also pass flags:
./pomodoro -work:25 -short_break:5 -long_break:15