A free, open source, WakaTime-compatible coding time tracker from Hack Club.
muety/wakapi
A minimalist, self-hosted backend compatible with WakaTime clients, for tracking and viewing your own coding statistics.
Open-source alternative to:WakaTime
- Stars
- 4,457
- Forks
- 309
- Open issues
- 42
- Last commit
- 8 hours ago
What is it?
Wakapi is a self-hosted server that receives coding activity heartbeats from WakaTime editor plugins and turns them into statistics on projects, languages, editors, hosts and operating systems. It works as a drop-in replacement for the WakaTime backend by pointing the client's api_url at your own instance, so you keep your data on infrastructure you control.
Beyond the web dashboard, it offers a REST API, badges, weekly e-mail reports, and Prometheus metrics export. It can run with SQLite by default or with MySQL and Postgres, and supports OpenID Connect login, invite-only registration, and a public leaderboard that can be turned off.
Wakapi is written in Go and can be deployed as a single binary, via Docker or Docker Compose, or on Kubernetes using a community Helm chart.
Key features
- 01Statistics by project, language, editor, host and operating system
- 02Partial compatibility with the WakaTime client and API
- 03REST API, badges and weekly e-mail reports
- 04Prometheus metrics export
- 05SQLite, MySQL and Postgres database support
- 06OpenID Connect login and optional invite-only registration
Use cases
- Keeping your coding time data on a server you control instead of a SaaS service
- Running a private coding-stats dashboard for a team or home lab
- Displaying coding statistics badges on a personal README or site
- Feeding coding activity metrics into an existing Prometheus and Grafana setup
Quick start
- 1
Install Wakapi with Go
go install github.com/muety/wakapi@latest - 2
Download the default config file
curl -o wakapi.yml https://raw.githubusercontent.com/muety/wakapi/master/config.default.yml - 3
Edit the config file to customize settings
- 4
Run Wakapi with the config file
./wakapi -config wakapi.yml
Things to know
- Only partially compatible with WakaTime, so some clients or features may not work.
- You must self-host the server and set up a WakaTime client on each machine to send data.
Topics
FAQ
- What is wakapi?
- A minimalist, self-hosted backend compatible with WakaTime clients, for tracking and viewing your own coding statistics. Wakapi is a self-hosted server that receives coding activity heartbeats from WakaTime editor plugins and turns them into statistics on projects, languages, editors, hosts and operating systems. It works as a drop-in replacement for the WakaTime backend by pointing the client's api_url at your own instance, so you keep your data on infrastructure you control.
- Is wakapi free to use? What license does it have?
- wakapi is open source under the MIT license. Check the license terms before using it in commercial products.
- Is wakapi still maintained?
- Actively maintained. The last commit to wakapi was on Oct 21, 2026.
- What can I use wakapi for?
- Keeping your coding time data on a server you control instead of a SaaS service Running a private coding-stats dashboard for a team or home lab Displaying coding statistics badges on a personal README or site Feeding coding activity metrics into an existing Prometheus and Grafana setup
- How do I install wakapi?
- Install Wakapi with Go: go install github.com/muety/wakapi@latest Download the default config file: curl -o wakapi.yml https://raw.githubusercontent.com/muety/wakapi/master/config.default.yml Edit the config file to customize settings Run Wakapi with the config file: ./wakapi -config wakapi.yml
- Where can I get wakapi?
- The source code and installation instructions are on GitHub: https://github.com/muety/wakapi
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
A browser extension for Chrome, Edge and Firefox that tracks time spent on websites, shows habit reports, and blocks sites once limits are reached.
Open-source business management platform combining ERP, CRM, HRM, ATS, project management and employee time tracking in one system.
A private, automatic work journal for Mac that turns screen activity into a timeline of what you actually did.
Self-hosted personal finance app for recording daily transactions, importing bank data, and analyzing spending with charts.
A self-hosted personal microblog for publishing short posts, links and media to a timeline that others can follow and comment on.