Note:  I am in no way, shape, or form affiliated with

I’ve been an independent consultant in IT for four years now.  One of the biggest things in my day-to-day activities is keeping track of my time.  Timekeeping has become a bit of a thing for me, even when I was an employee.  It probably stems back to about 1996 or so, when my first web application ever was a timesheet application I wrote while working at Alberta Transportation & Utilities (now Alberta Infrastructure).   It was in C++, using Netscape Commerce Server and CGI.  I even had to write my own libraries to parse the HTTP requests and came up with my own crude templating engine.  Yes I’m old.  Yes, it was interesting.  Yes, we have it better now.  No, I would not like to repeat that experience.

Anyway, over the years, I’ve tried many different things, from a VBA solution based on Outlook, Excel spreadsheets, to Timesheet.PHP, to a WebForms app based on the Timesheet.PHP database which I ported over to ASP.NET MVC when I wanted to expand my jQuery and ASP.NET MVC knowledge.  My little home-grown web app was good for what I needed it to do, but it wasn’t anything fancy.  If it was, I’d have sold it and become rich beyond the dreams of avarice.

In the early fall, a friend of mine told me about HarvestApp – a subscription based, online time-tracking application.  Thought I would give it a try.  My thinking at the time was that I’m not really in the business of writing a timesheet application, and I really need to keep track of time – as a consultant, billable hours are pretty important.  So, here I am now, almost six months later, and I will say that I like HarvestApp.  I find it quick, and easy to use.  I get easy to see reports.  You can create invoices (I don’t use HarvestApp to create my invoices, but you could).  You can track expenses.  It’s mobile friendly.  It’s moderately priced (IMHO – YMMV).  It has a public API so you can write your own applications against it. 

Anyway, don’t take my word on it, try it for yourself.