A beautiful, minimal Pomodoro timer that lives in your macOS menu bar.
- Menu bar native — always one click away, never clutters your dock
- Animated progress ring — smooth arc with a pulsing glow while your session runs
- Auto-advance — transitions automatically from work → break → work
- Pomodoro dots — track completed sessions in the current cycle
- Fully customizable — adjust work, short break, and long break durations
- macOS notifications — get alerted when each session completes
- Zero accounts, zero tracking — everything stored locally
- Download FocusTimer.dmg from the latest release
- Open it and drag
FocusTimer.appinto the Applications folder - Launch it — the
⏱icon appears in your menu bar
First launch: macOS may show a security prompt. Go to System Settings → Privacy & Security and click Open Anyway.
# Clone
git clone https://github.com/lumenworksco/FocusTimer.git
cd FocusTimer
# Build (requires Xcode 15+)
xcodebuild -scheme FocusTimer -configuration Release \
CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO
# The built app is at:
# ~/Library/Developer/Xcode/DerivedData/FocusTimer-.../Build/Products/Release/FocusTimer.appOr open FocusTimer.xcodeproj in Xcode and press ⌘R.
| Action | How |
|---|---|
| Open timer | Click ⏱ 25:00 in the menu bar |
| Start / Pause | Click Start or Pause in the popup |
| Skip session | Click Skip |
| Reset session | Click Reset |
| Change durations | Click the ⚙️ gear icon |
Sessions follow the classic Pomodoro cycle:
Work → Short Break → Work → Short Break → Work → Short Break → Work → Long Break → repeat
Click the ⚙️ gear icon to open Settings:
| Setting | Default | Range |
|---|---|---|
| Work session | 25 min | 1–90 min |
| Short break | 5 min | 1–30 min |
| Long break | 15 min | 5–60 min |
| Sessions before long break | 4 | 2–8 |
| Notifications | On | — |
Pull requests are welcome! For major changes, please open an issue first.
- Fork the repo
- Create your feature branch (
git checkout -b feature/my-feature) - Commit your changes (
git commit -m 'Add my feature') - Push to the branch (
git push origin feature/my-feature) - Open a Pull Request
MIT © 2026 lumenworksco