How are you implementing time tracking natively?

Another “picking your brain” post this week.

I find that I am drawn to entity buttons for time tracking for the simple UX of being able to “click to start” from any entity in the workspace.
However, without conditions on automations and buttons, this is not the best way to prevent many, incomplete time entrees.

Are people experimenting with apps for time tracking? How are you caching what time entry is open and preventing incomplete time entries for users.

I spent a lot of time trying to create something similar, and while ultimately we decided to do away with Time Tracking in Fibery (opting to use Zoho Books’ tracking instead), I foresee a near future where we’ll be wanting to bring that back into Fibery.

When we were using it, we did the same approach – heavily utilizing entity buttons to ‘start timer’ and ‘stop timer’.

We had an entity field on our Users of “currently working on” or some such thing, that filled in whatever task they’d most recently clicked “Start Timer” on, as well of course as the StartTime field to do the math from.

Where things fell apart, as they always do, are the ‘human’ elements – forgetting to start a timer, forgetting to end a timer, and so on. We started building out conditions around that to try to catch them, such as ‘if a timer is going on for more than X hours, assume it’s abandoned and stop timer’, and so on. Ultimately, trying to catch all that stuff let do a muddled experience and unexpected results, so we moved to a different system.

It’s something I want to revisit at some point, however. We have a LOT of intergrations between Fibery and Zoho Books as our invoicing software, so it feels like a natural next step if we can sort out the sticky parts.

I was looking to implement time tracking for myself, then found another solution which i’ve leaned into now.

Since almost anything I do now works through Claude, I simply have him add a timelog after we have progressed with something. Example:

I have a tasks database, which is connected to a timelog database.

We are working on creating a landing page. After the design is done together with Claude, I simply tell him: Add a timelog and comment for this and update the task. He then goes to propose time spent (which is fairly accurate) and adds it to the timelog.

In the task, I can see total time spent. This can be taken further up the line to add it to the total project hours.

This way, I don’t have to remember to start and stop tasks anymore. This works for me, since the lines of actual time spent on something have been blurred through continouus AI use anyway. I actually rarely spend “30 minutes” now on a single task then move on. It’s always multiple things at the same time.

What that leads to also: I can work for an hour on my computer, have 3 claude sessions open, and log 3 hours. Even though I might have spent 10 minutes myself. This is a result of working with LLMs - regular time tracking just doesn’t work anymore.

If you are bound to report your time logs to somebody for billing, then this might not be the right approach for you, though.

Humans suck.

Getting consistency is impossible. I know for a fact that even platforms built with the sole purpose of tracking time are often left unused, so what are the chances that a less capable system will do the job? Not very likely.

Back when I worked for a much stricter, larger company, I was forced to fill out timesheets digitally. While each day was never down to the exact minute, and individual tasks could still be estimated to the nearest hour, I remember being reamed on multiple occasions for not starting and/or stopping the timer. It cost hours in overhead each week to rectify discrepancies and balance the timesheet to match the effort.

The reality of the situation is put simply: if the effort to document the work is more than the work itself, it won’t be done. This is a truism applied universally, and it’s why paperwork of all forms is hated in every profession.

Reducing the barrier to begin is the challenge, and I don’t think buttons are solution. It’s just another unnecessary mental load — navigate to the entity, click start, etc.

I don’t think I have a solution for you, sadly.

The only time tracking solution I found that worked (for those times when I was obliged to track my time) was a piece of software that ran in the background on the computer and logged which application/file/browser tab you had open at all times, and then you could tell it that if you could set up rules to automatically allocate the time to different projects/clients, e.g. if I am visiting community.fibery.io, then I am working for Fibery; if I am working on a Word document called “Annual Sales Report”, then I am working for Company X, etc.

It wasn’t perfect, but it was the least worst solution I ever encountered