If you’re an independent contractor writing software, then this post is for you.
Even if you do project-based invoicing, accurate time tracking is important for measuring the effort you’re devoting to each client and in return how much you should be charging for your time.
Time trackers can be grouped into manual and automated categories:
Manual time trackers
Toggl - A simple time tracker with stopwatch app for many platforms
Use this if you’re not a software engineer. Its simplicity and support for multiple platforms has made it the leader in general time tracking.
FreshBooks - An invoicing platform, with a time tracking feature
Use this if you have a lot of clients where sending invoices and collecting payments is taking up a lot of your time.
Automated time trackers
Upwork - A freelancer platform with a screenshot desktop app
If you’re just starting out and need to find work, Upwork can be a good place to find new clients. However, their time tracking app takes screenshots of your desktop every 10 minutes. Not everyone is comfortable with that level of monitoring.
WakaTime - A time tracker for software engineers, with open source IDE plugins
WakaTime is a dashboard for developers, using IDE plugins to automate time tracking. Since it’s built for programmers, it automatically detects your projects and works seamlessly with the tools you’re already using. Just make sure to increase the default Timeout preference so you’re not under-reporting your actual work time. You can also time track as a team.
Each one is a leader in their space so they’re naturally best for the specific use that they were targeting. If you don’t have concerns about your privacy and don't mind having to be more involved in the time tracking process, try Upwork. If you just need simple manual time tracking with no automatic features, use Freshbooks or Toggl. If you’re a programmer, WakaTime is the best time tracker. It's fully automatic and gives you all the insights a developer needs, for ex: time tracking per commit, file, or project.