For freelancers
Automatic time tracking for developers
VS Code · Xcode · Terminal · GitHub
A freelance developer’s day is repositories, terminals and browser tabs, switched a dozen times an hour. Tracker watches the front window and the URL behind it, maps both to clients with your own rules, and turns the day into billable hours.
Where the hours go missing
- Context switches nobody bills. An hour on a client repository, a question in Slack, a review on another project, then back again. Each switch is short enough to skip and together they are a day a week.
- Reviews and debugging leave no trace. A pull request review, a build that would not reproduce, forty minutes reading a spec: real work that produces no commit, so there is nothing to reconstruct it from on Friday.
- Fixed price without the real number. You cannot tell whether the last fixed-price feature was worth it, because the only record of what it cost you is a git log that never mentions hours.
What Tracker does about it
- Repositories and hosts map to clients. github.com/acme goes to Acme, a terminal whose title carries the Northwind project folder goes to Northwind. One or two rules per client on a URL or a window title.
- Nothing to start, nothing to stop. Tracker samples the frontmost window and the browser URL every few seconds, so the review, the failing build and the spec you read are recorded without you doing anything.
- Local, like the rest of your toolchain. The whole backend is a SQLite file on your disk. No account, no sync, and no server holding a log of every client repository you have ever opened.
Tracker is a macOS menu-bar app built by one person, and the reasoning behind the local-only design is written up on the about page.