System Brief
SG-04 / PRODUCT ENGINEERING
Pomodoro Count is a native macOS menu bar app built around a small premise: the best focus timer may be physical, but the record of your work should still be useful.
The pomodoro timer I like most is a physical cube. I turn it, put my hands back on the keyboard, and stop thinking about software for a while. It does that job better than another window on my screen.
What it cannot do is remember. After a week of turning the cube, I know I worked, but I do not have a useful record of how often, on what, or whether the rhythm is holding.
That is the gap behind Pomodoro Count: a native macOS menu bar app that counts the pomodoros completed somewhere else. It includes a timer, but the timer is deliberately secondary. The primary action is still a single, low-friction tally.
The product starts with one click
Open the menu bar panel and choose Log completed pomodoro. The panel closes, today’s count increments, and the app gets out of the way. If the click was a mistake, Undo last reverses it.
That small interaction is the center of the product. Everything else exists to make the resulting record more useful without making the act of logging heavier.
There are three other ways to record a session:
- Press the default global shortcut,
Control+Option+Command+P, from any app. - Run
open "pomodorocount://log"from a script or macOS Shortcut. - Send the URL command from hardware such as a Stream Deck.
To log directly to a category, append its name:
open "pomodorocount://log?category=Deep%20Work"
The URL cannot create a category by accident. If the name is unknown, the pomodoro goes to the general bucket and the app confirms the result with a notification.
Install it and know where to look
The shortest installation path is Homebrew:
brew install --cask --no-quarantine markgustetic/tap/pomodoro-count
You can also download the zip from the
latest GitHub release,
unzip it, and move Pomodoro Count.app into /Applications.
The current release is open source but is not signed with an Apple Developer ID. That means macOS may block the first launch. Right-click the app, choose Open, and confirm Open once more. After that, macOS remembers the choice.
Pomodoro Count is menu-bar-only. It does not create a Dock icon or a conventional app window. Once launched, look for the tomato at the top-right of the screen.
Use the timer when the hardware is not nearby
The built-in timer defaults to a 50-minute focus and a 10-minute break. Start it from the top of the Focus tab, pause or stop it there, and adjust the durations in Settings.
The menu bar label becomes the countdown while a session is running. A cup marks a break, and a pause glyph makes a paused session visible without reopening the panel. Every fourth completed focus session can earn a longer break, with the interval and duration both adjustable.
Locking the Mac or putting the displays to sleep pauses the session. Time away from the computer never quietly becomes focus time, and resuming remains an explicit choice.
Turn a count into a useful record
Categories are optional. Enable them in Settings and the single log button becomes one row per category. Each row can have its own daily goal, so a setup like Work 4, AI study 1, and Music 1 is visible before another session starts.
A category is more than a label. It changes three parts of the workflow:
- its row becomes a one-click logging target
- the built-in timer can aim the next session toward it
- History gains a By category breakdown
Removing a category archives it instead of deleting it. Existing pomodoros keep their labels, and adding the same name later reconnects the category with its history.
Read the rhythm, not just today’s number
History supports Week and Month charts, a daily list, this-week and all-time totals, and a Year view that renders the last 365 days as a heatmap. The point is not to manufacture a score. It is to make a working rhythm visible at several scales.
Two or more consecutive active days add a streak to the header. An empty morning does not immediately erase yesterday’s run; the streak simply waits to see what happens today. An optional end-of-day reminder reports how many sessions remain only when a daily goal has not been met.
Export CSV… writes one row per pomodoro, which keeps the data useful outside the app instead of trapping it behind the interface.

The Synthwave theme changes the palette while preserving the same Focus, History, and Settings structure.
Keep it private and understandable
The app stores timestamps and settings in one plain-text JSON file:
~/Library/Application Support/PomodoroCount/data.json
There is no account, telemetry, or analytics pipeline. Nothing about focus history leaves the Mac. The only network request is an optional update check, which can be disabled in Settings.
That local-first shape is partly a privacy choice and partly a product choice. A tiny tally should remain inspectable. The data can be backed up, read, or moved without needing the app’s permission.
A small app still has real constraints
Pomodoro Count is built with SwiftUI and targeted at macOS 14 and newer. The menu bar interface is a non-activating panel, which creates several constraints that ordinary app windows do not have: dialogs can dismiss the panel, popovers cross window boundaries, long content needs deliberate height measurement, and native drag-and-drop does not start reliably there.
Those constraints shaped the implementation more than the visual design did. Category reordering uses a measured gesture in the list’s coordinate space. Confirmation flows stay in popovers. Fast timer ticks live outside the main app model so the entire interface does not invalidate twice per second. Persistence backs up unreadable or newer-schema files before a future save can overwrite them.
The result is intentionally modest: one menu bar item, one panel, one local data file, and several ways to record the same event. That is enough to let the physical timer remain the focus tool while the Mac quietly remembers the work.
The source, release notes, installation options, and issue tracker are all in the Pomodoro Count repository.
