How to more efficiently track billable hours


Through the years, has used a number of project management tools:

Of those offerings, only Basecamp v1 and ActiveCollab offer built-in time tracking for project tasks. We were content with using the timer on Basecamp v1 back in the day, and then we were dumbfounded when 37Signals removed that feature from Basecamp v2. WHAT? How could that be a good idea? Then to proceed and leave it out of Basecamp v3? I really don’t understand how you can operate a business that needs something like Basecamp, but doesn’t need to track hours.

So at the same time that we switched from Basecamp v1 to Basecamp v2, we built our own Timer app which we lovingly called CampTimer. This timer app would allow you to log into Basecamp v2 using their API, and it would pull down all of the projects you were assigned to. You could then start a timer, let it run, give it a description of what was accomplished, and then post your time to our own internal timer database for later use (such as in building invoices or reporting on employee utilization).

Overall, it was a big hit, and a nice improvement over having to manually track time through another service (such as Harvest or FreshBooks).

From there we moved to Trello, and we converted CampTimer into TrelloTimer, but with the same functionality. It continued to work well for us.

We have since landed over at ActiveCollab, which has time tracking built in. So did we get rid of our Timer app? No, we decided to keep using it. Mostly because we found ActiveCollab’s timer to have some bugs that caused some hours to be lost intermittently. NOT good. But also because we got used to our timer app and the niceties that we built in based on our usage.

Our timer app is now called AceTimer (with “Ace” coming from AC, or ActiveCollab), and it is used by our entire development team as well as design staff.

Benefits of building your own timer

It was not trivial to build this timer, and it has definitely required man hours to maintain it and “translate” it between the different project management softwares over the years. That being said, here are some of the main benefits regarding using a custom timer:

Build it once

You can build the timer once, and just change the API it integrates with if you need to change software in the future. Generally speaking, humans like consistency, and don’t like learning new software, so this is a win for the team if the timer app stays the same over the years

Speed up workflows

You can build in little tools that make your specific workflow faster. For example, we found that the majority of our team would forget to start a timer immediately when commencing work, or would forget to stop a time immediately after completing the task. So we built in a few “quick buttons” that allow you to add or remove a preset number of minutes. It’s amazing how often these are helpful.

Be more accurate

You can make sure you’re getting all the information you want. A good use-case is if you want to guarantee your team types in a description of the work they did: you can simply not allow the “description” field to be left blank.

Don’t change your business to fit the software

You can adapt the software to fit your business and your workflows, rather than the other way around. One feature that was highly requested by staff members that bill projects was “more detail regarding what was completed so our invoices can be more thorough”. Basically: they wanted to know exactly what was worked on so they could pass along that info the client. We fixed this by not only populating the Timer with projects from ActiveCollab, but also populating the tasks that are currently assigned to that user. So all the user has to do is choose the task, and click Start. They don’t have to worry about typing in the name of the task, or even have to choose the task from a list to “associate” their timer. Quick and easy.


Simply put, it helps encourage your team when people see internal investment in processes and workflows to make everyone more successful. Getting your logo in front of people is an easy way to do this.

Spend more time on things that matter

If a staff member is confident in the tools they are using, and can use those tools to save a few minutes here/there, then they will naturally enjoy their job more, and have extra time to devote to it.

Some additional features we built in

Quick search

At times our project/task list can get very lengthy, and it’s at this time that a search becomes necessary. So with a quick strike of the “F” key (for “Find”) you can filter your projects/tasks and get right to work.

Multiple timers

If you move on from one task but aren’t quick finished with it yet, you can hold it for resuming and posting later. This is super helpful since the world of web maintenance can be crazy town.

Manually type the amount of time

Let’s say you come out of a meeting and you know it was an hour and 10 minutes. All you have to do is find the right project, and type 01:10:00 and you’re done.

Billable vs non-billable

We have internal protocols which suggest if a task is billable to the client or not, and by putting a toggle in our timer app we take the burden off the invoicing team and spread it amongst the entire team.

Timer date

Sometimes we miss entering our time the day before. Most timers allow you to submit your hours, but the date would be wrong. We wanted to be able to retroactively add time, so we built in a calendar.

Link to the original task in ActiveCollab

A task name is helpful for organizing what you need to do, but often times more information is supplied about a task that needs to be accessed. We added quick links from each timer item to view the full task in the browser.

What tech we used

As it was 6 or 7 years ago when we first built this timer, we did not have access to some of the more modern frameworks which would make this app 100x better. We would love to re-build it with NodeJS and React, or similar. As it stands, AceTimer is currently built with:

We deploy it as a Mac app to our staff members. We do not foresee needing a Windows-based version, but Electron can deploy to Windows if that becomes a requirement.

Bottom Line

If a staff member doesn’t like using your current time tracker, they are less likely to use it, which means you’re losing billable hours, and it is costing you money. Consider spending some time to analyze your time tracking software, and see if there are ways to make them more user-friendly.  It will pay off big time!

Leave a Reply

Your email address will not be published. Required fields are marked *