Introduction
Wakapi is a self-hosted alternative to WakaTime that tracks how much time you spend coding, in which languages, and on which projects. It is fully compatible with the WakaTime ecosystem of editor plugins, so you can switch backends without changing your workflow.
What Wakapi Does
- Collects coding activity data from WakaTime-compatible editor plugins
- Displays daily, weekly, and monthly coding time breakdowns by language, project, and editor
- Provides personal dashboards and optional public leaderboards
- Exports data in multiple formats for backup or analysis
- Sends email summaries and integrates with third-party services via webhooks
Architecture Overview
Wakapi is a single Go binary with an embedded web server. It receives heartbeat events from editor plugins via the WakaTime-compatible API, aggregates them into time entries, and stores everything in a local SQLite, PostgreSQL, or MySQL database. The web dashboard renders charts and statistics from the stored data.
Self-Hosting & Configuration
- Deploy via Docker or download the single Go binary
- Configure the database backend (SQLite for simplicity, PostgreSQL or MySQL for scale)
- Point your existing WakaTime editor plugins at the Wakapi server URL
- Set up email reports by configuring SMTP settings in the config file
- Enable public profiles and leaderboards for team visibility
Key Features
- Drop-in WakaTime replacement: works with all existing WakaTime editor plugins
- Single binary or Docker deployment with minimal resource usage
- Supports SQLite, PostgreSQL, and MySQL as storage backends
- Built-in email summaries with configurable schedules
- Public leaderboards for friendly team competition
Comparison with Similar Tools
- WakaTime — SaaS with a free tier limit; Wakapi is fully self-hosted with no data caps
- CodeTime — VS Code-specific extension; Wakapi works across any editor with WakaTime plugins
- ActivityWatch — general-purpose time tracker; Wakapi focuses specifically on coding metrics
- RescueTime — tracks all computer activity; Wakapi tracks only editor-level coding time
FAQ
Q: Can I migrate from WakaTime? A: Yes. Export your WakaTime data and import it into Wakapi. The API is compatible, so editor plugins work without changes.
Q: Which editors are supported? A: Any editor with a WakaTime plugin: VS Code, JetBrains IDEs, Vim, Neovim, Emacs, Sublime Text, and many more.
Q: Does it track non-coding activity? A: No. Wakapi only records heartbeats from editor plugins, so it measures active coding time in supported editors.
Q: How much disk space does it use? A: Very little. A year of solo coding data in SQLite typically uses under 50 MB.