I’ve been working across three client projects this month and I can tell you almost nothing about where the hours actually went. I know roughly how many I billed, because I keep a rough mental tally and pad it for sanity, but “roughly” is doing a lot of work in that sentence. Last week I started a consulting call, got pulled into a Slack thread, opened a pull request for a different client, and by the time I submitted my invoice I was guessing whether I’d spent an hour or ninety minutes on each thing. Neither of those numbers felt honest.
The obvious solution — use a time tracker — always sounded like adding overhead to avoid overhead. I’ve tried a few browser-based tools over the years and abandoned them when I forgot to stop the timer and billed six hours for a thirty-minute task. What finally worked for me was something permanently visible in my menu bar, where the running timer is impossible to ignore.
Coffee: Time Tracker & Focus (Free) is where I’d tell any solo freelancer to start. You create a project with a name, a color, and an icon, then click once to start and once to stop. The menu bar shows the current session duration so you can’t accidentally forget it’s running. When a project hits its daily time limit, you get a notification — useful for staying honest about how many hours you actually want to log on a given day. Everything syncs to iCloud across your Apple devices, so a timer started on your Mac Mini continues to show on your MacBook Air if you move. Time data exports as CSV, which drops cleanly into an invoice template. I’ve been using Coffee for about six weeks and the friction is low enough that I actually use it.
The honest limitation is that Coffee is built for one person. There’s no team sharing, no shared timesheets, and no role-based access. If you collaborate with others and need a combined view, Toggl Track or Harvest will serve you better — both offer free tiers with team features.
For freelancers who need to see earnings in real time alongside hours, Daily Grind takes a different approach. You assign clients and tasks, set hourly rates, and the menu bar dropdown shows your monthly earnings alongside the time breakdown per client. The focus on revenue rather than just hours makes sense for fixed-rate work where knowing “I’ve logged $2,400 this month” is more immediately useful than “I’ve logged 16 hours.” All data stays local with no cloud account required, which I appreciate when client names and project details are involved. The app is available on the Mac App Store; it’s a paid app, and pricing appears on the listing. Daily Grind has no automatic tracking or idle detection — it’s fully manual, which I consider a feature rather than a limitation since automatic trackers have a habit of capturing things I didn’t intend to bill.
If your tracking needs are genuinely minimal — you want to know how long something took and nothing else — CountUp is the answer. Free and open-source, it provides exactly three controls: start, pause, and reset. The elapsed time shows in the menu bar in hours, minutes, and seconds. There’s no project organization, no export, no sync, and the timer resets if you quit the app. I’ve used it while reviewing documents where I wanted to know how long I spent without bothering to create a Coffee project for a one-off task. The caveat is that CountUp isn’t notarized by Apple, so the first launch requires approving it in Privacy & Security settings. The source code is on GitHub if you want to check what you’re running.
The choice between these three is mostly about how much information you want alongside the timer. CountUp gives you time and nothing else. Coffee adds projects, daily limits, and CSV export while remaining free. Daily Grind adds client organization and real-time earnings tracking for a price. None of them require creating an account, none send your data to external servers, and all three take under a minute to set up — which is why I’ve actually kept using them, unlike the browser-based tools I abandoned years ago.
For anyone billing by the hour who’s been relying on memory and rough estimates, any of these is an improvement. The question is just how much context you want visible when you glance up at your menu bar.