Skip to content

Designing time tracking that fits the work, not the other way around

The thing that decides whether a freelancer keeps tracking their time is not the timer. It is the friction around the timer. I have used Harvest, Toggl, Clockify, Everhour, and a couple of self-hosted tools whose names I have forgotten. They all let you start a timer. They all let you stop one. The differences that mattered, in practice, were everywhere else.

I have been tracking my own billable hours since 2009. For years the pattern was the same. I would start the week disciplined, hit Tuesday morning, get pulled into a call I forgot to log, come back to my laptop two hours later, try to reconstruct what I had been doing, and give up. By Thursday the day was a mosaic of half-remembered tasks. By Friday I was negotiating with myself about which client had “probably” gotten the hour I could not place. By the end of the month I was billing on guesswork dressed up as data.

What worked for me eventually was not a better timer. It was a small set of habits the software could support if I asked it to. I started a timer at the beginning of the day and ran it on whatever I was actually doing, even if that was reading email. At the end of a chunk of work I retroactively re-labeled and re-categorized the entries while the context was still in my head. I never tried to “remember later” what I had done.

The tools that helped were the ones that let me do this without fighting them. Specifically: starting a new entry should never require more than two clicks, retroactively splitting an entry should be one drag, switching projects should not lose the running timer, and the day view should show everything I logged in a way I can re-arrange with the mouse. These sound like trivial UI details. They are the difference between a tool I open every morning and a tool I stop opening by week three.

The other thing that mattered, which I had not noticed until I built it for myself, is the connection from timer to invoice. In most tools this is a two-step dance. You track time in one place, then once a month you “convert to invoice”, which presents you with a screen where you have to manually pick which entries belong to which line. Every time I did this I lost ten minutes to mistakes that could have been avoided if the software had remembered which client I had said the entry was for in the first place.

In Rozuro a time entry has a client and an optional task from the moment you create it. The “convert to invoice” step is a single click that produces the invoice with the lines pre-filled in the order they were logged. You can edit them, you can merge them, you can override the rate, but the default is the obvious one and the obvious one is right most of the time. That is the small thing that turns a thirty-minute monthly task into a five-minute one.

There is one more design choice that comes up often enough to mention. Most time tracking tools auto-stop your timer when your laptop sleeps, which means you lose the half hour you spent in a meeting with your laptop closed. We do the opposite. The timer keeps running until you explicitly stop it. If you forget to stop it overnight, you can split the entry the next morning and the software remembers when the laptop was actually active. The default favours the user remembering, not the user forgetting.

These are not the kind of choices that make a product demo exciting. They are the kind that decide whether a freelancer in month four is still using your tool or has quietly moved back to a spreadsheet. I have moved back to a spreadsheet more than once. I built the timer in Rozuro the way I built it because I did not want to be the freelancer doing that again.

If you have your own timer-pet-peeves I would like to hear them — contact us.

Love, Marten.