Time Tracking for Developers – WakaTime vs. Hakatime vs. Wakapi

Title Image

Automated time tracking

As a developer, you might be wondering how much time you are spending coding on a specific project, in a specific programming language, etc. Gathering detailed statistics about your work day might help you gain valuable insights on how to increase your productivity. Or maybe you are just a statistics freak, like me, who likes to track and analyze things. What you will need for that purpose is an automated time tracking tool. Many of these exist, but this article focuses on such that are specifically meant for developers, more specifically, on WakaTime and its derivatives in particular.

WakaTime and friends

WakaTime is one of the most popular and wide-spread automated time tracking softwares for developers. It was – and still is – built by Alan Hamlett and started out back in 2013. Its concept is very straightforward. Developers install a plugin into their code editor or IDE, which sends so called heartbeats to a web service on a regular basis. These heartbeats include all kinds of information on the project and the specific file you are currently working on. The backend-side web service aggregates and processes those heartbeats and generates detailed statistics and graphs from them, which you can then browse in a web dashboard. Many parts of WakaTime are open-source, however, the web service itself, which contains most of the core business logic, is not.

WakaTime comes with around 50 different IDE plugins (ranging from IntelliJ over VSCode to Vim and Emacs), which are all open source. Third-party projects like Hakatime and Wakapi started to build up on that basis and implement their own backends, which resemble the official WakaTime’s API and therefore are (partially) compatible.

In the following, I want to present a brief comparison between these three software tools. Feel free to reach out if you are missing any aspect or if there is a mistake.

Disclaimer: I am the author of Wakapi.

Comparison

General

WakaTime Hakatime Wakapi
Started in 2013 2020 2019
Open source Partially (BSD-3) ✅ Yes (Unlicense) ✅ Yes (GPL-3.0)
GitHub wakatime/wakatime mujx/hakatime muety/wakapi
Written in Python Haskell Go
Databases Postgres SQLite, MySQL, Postgres, CockroachDB
API ✅ Yes ✅ Yes ✅ Yes
API Docs Yes ⛔️ No Yes
SaaS Yes Demo only Yes
Self-hosted ⛔️ No ✅ Yes ✅ Yes
Docker deployment ⛔️ No ✅ Yes ✅ Yes
Pricing $0 - $49 / month

Features

WakaTime Hakatime Wakapi
Teams / Orgs ✅ Yes ⛔️ No ⛔️ No
Goals ✅ Yes ⛔️ No TBD
Leaderboards ✅ Yes ✅ Yes ⛔️ No
Badges ✅ Yes ✅ Yes ✅ Yes
Data import ✅ Yes ✅ Yes
3rd-party integrations ✅ Yes ⛔️ No ⛔️ No
Prometheus export ⛔️ No ⛔️ No ✅ Yes
E-Mail reports ✅ Yes ⛔️ No ✅ Yes
Timeline charts ✅ Yes ✅ Yes TBD
Activity charts ⛔️ No ✅ Yes TBD

Statistics

WakaTime Hakatime Wakapi
Projects ✅ Yes ✅ Yes ✅ Yes
Languages ✅ Yes ✅ Yes ✅ Yes
Editors / IDEs ✅ Yes ⛔️ No (?) ✅ Yes
Operating Systems ✅ Yes ⛔️ No (?) ✅ Yes
Machines ✅ Yes ⛔️ No (?) ✅ Yes
Files ✅ Yes ✅ Yes TBD
Branches ✅ Yes ✅ Yes ⛔️ No
Commits ✅ Yes ✅ Yes ⛔️ No

Screenshots

WakaTime

Hakatime

Wakapi

For Wakapi, a major redesign of the user interface is planned.

Summary

Clearly, WakaTime is the most mature and feature-rich tool, but, of course, comes at a cost.

Hakatime has a nice-looking, clean user interface and beautiful visualizations. On the other hand, it felt a bit rough and sometimes buggy here and there during my tests. But of course, this is a subjective experience.

Wakapi is built on a solid, technical basis and provides lots of configuration options for developers. However, its current UI is quite minimalist and less fancy, compared to the other tools.

All three projects are under active development and with many new features about to come in the future. Wakapi also highly welcomes open source contributions to its code base.

If you are interested in tracking your coding statistics, I would like to encourage you to give all three tools a try. Feel free to share your thoughts!