unsubbed.co

Ziit

For time tracking, Ziit offers a self-hosted way to monitor your coding sessions.

Open-source code time tracking, honestly reviewed. No marketing fluff, just what you get when you self-host it.

TL;DR

  • What it is: Open-source (AGPL-3.0) coding time tracker — a self-hostable alternative to WakaTime with a clean Plausible-inspired dashboard [3].
  • Who it’s for: Developers who want WakaTime-style stats without paying for data history or routing their coding activity through a third-party server.
  • Cost savings: WakaTime’s Pro plan runs $9/mo for full history retention. Ziit self-hosted runs on a VPS you likely already have, with no per-user fee.
  • Key strength: Clean, minimal UI modeled after Plausible Analytics. Tracks projects, languages, editors, files, branches, and OS. Supports VS Code (and all forks) plus JetBrains IDEs [README].
  • Key weakness: Very early-stage project — 218 GitHub stars, AGPL-3.0 license (not MIT), TimescaleDB as a required dependency adds operational complexity, and the hosted instance has a documented history of account deletions [README][3].

What is Ziit

Ziit (pronounced “tseet”) is an open-source, self-hostable replacement for WakaTime. If you’ve used WakaTime before, the pitch is immediate: you install an IDE extension, it silently tracks what you’re coding and for how long, and you check a dashboard to see your stats broken down by project, language, file, editor, OS, and git branch. The difference is that with Ziit, all that data stays on your server instead of WakaTime’s [README][3].

The dashboard is described as “clean, minimal, and fast” and is explicitly inspired by Plausible Analytics — meaning it’s focused on showing you the information you actually care about, not maximizing engagement [README]. The project is built on Bun and TypeScript, uses TimescaleDB for time-series storage, and ships with a REST API, Docker support, and IDE plugins [README][3].

The GitHub README opens with a notable warning: “For users confused why their account got deleted check this issue.” That’s issue #81, and it’s the first thing you should read before depending on the hosted version at ziit.app. The self-hosted angle isn’t just about privacy here — it’s also about not having your account vanish under you [README].

As of this review, Ziit sits at 218 GitHub stars and 11 forks [3]. It’s a young project, started in early 2025.


Why People Choose It

Third-party reviews of Ziit are thin — it’s too new to have accumulated the kind of media coverage that older projects get. AlternativeTo lists it with two 5-star ratings and no written reviews [3]. That’s the honest state of the ecosystem.

What we can synthesize from the project itself and the broader context of the WakaTime alternative space:

The WakaTime problem it’s solving. WakaTime’s free tier gives you two weeks of data history. After that, you pay $9/month for the Pro plan to keep full history. For a solo developer, that’s $108/year to see how you spent your coding time. It’s not outrageous, but it’s a recurring fee for something that is, fundamentally, just storing your own data. Every WakaTime user who has ever bumped into the history wall has thought about self-hosting.

Privacy is the other driver. WakaTime has passive access to what projects you’re working on, which files you’re editing, how many hours you spend on what — this is unusually detailed behavioral data about your work patterns. For developers working on sensitive projects or simply unwilling to share that granularity with a third party, a self-hosted alternative with AGPL code is the obvious answer.

Versus Wakapi. The more established open-source WakaTime alternative is Wakapi, which has been around longer, has broader compatibility (it speaks the WakaTime API natively, so all WakaTime-compatible extensions work), and has a larger community. Ziit’s argument over Wakapi is mostly UI — cleaner, more Plausible-like — and the fact that it ships its own first-party extensions rather than relying on WakaTime’s plugin compatibility layer [3].

Versus ActivityWatch. ActivityWatch is a broader time tracker (apps, window titles, web browsing) rather than a coding-specific tool. If you want to know how much time you spent in Slack vs VS Code vs your browser, ActivityWatch is the right tool. If you only care about coding stats at the project/language/file level, Ziit is more focused [3].


Features

Based on the README and project documentation:

Core tracking:

  • Tracks projects, languages, editors, files, git branches, and operating system [README]
  • Time range filtering on the dashboard [README]
  • Coding session detection handled by the IDE extension
  • Public stats page showing aggregate data from the whole instance [README]
  • Public leaderboard showing top coders on the instance [README]

Data management:

  • Import from WakaTime or a WakAPI instance [README]
  • Badges for embedding coding time into a GitHub README (example: ![ziit badge](...)) [README]
  • REST API — the profile confirms it as a canonical feature [merged profile]

Auth:

  • GitHub OAuth login [README]
  • Email + password login [README]

IDE support:

  • VS Code and all forks (Cursor, Windsurf, etc.) via dedicated extension [README]
  • JetBrains IDEs via plugin (JetBrains Marketplace ID 27391) [README]
  • No Vim/Neovim, Emacs, or Sublime Text support listed

Self-hosting:

  • Docker deployment [merged profile][README]
  • TimescaleDB (a PostgreSQL extension) as the database — not standard PostgreSQL [README]
  • Bun as the runtime

What’s not there (yet):

  • No mobile app
  • No browser extension for tracking time away from the IDE
  • No team/org features — it’s a personal tracker
  • No integration with project management tools (Linear, Jira, GitHub Issues)

The “More to come…” at the end of the features list in the README is either honest roadmap communication or a sign that several planned features aren’t finished yet.


Pricing: SaaS vs Self-Hosted Math

WakaTime for comparison:

  • Free tier: 2 weeks data retention, unlimited projects
  • Pro: $9/month (or $90/year) for unlimited history, all features
  • Teams: $9/user/month

Ziit Cloud (ziit.app):

  • Free to use — no pricing page exists
  • Caveat: accounts have been deleted before, per the README warning about issue #81. There’s no SLA, no uptime commitment beyond a BetterStack status badge, and no stated data retention policy [README]

Ziit Self-Hosted:

  • Software: $0 (AGPL-3.0) [3]
  • VPS: $5–10/month, or $0 if you’re already running a homelab or server for other tools
  • TimescaleDB: free, but adds complexity vs a vanilla PostgreSQL setup

The math:

If you’re on WakaTime Pro and have been for two years, you’ve spent $180 just to see your own coding history. Self-hosted Ziit on a $6/month Hetzner VPS (which you might already use for other self-hosted tools) costs $0 for the software plus whatever fraction of your VPS costs you attribute to it. If you’re already self-hosting five other services on one VPS, Ziit is essentially free to add.

The trade-off isn’t money vs. free — it’s managed convenience vs. ownership. WakaTime at $9/month is a set-it-and-forget-it service with support, reliability, and mobile apps. Ziit self-hosted means you manage the stack, maintain the Docker containers, and deal with TimescaleDB upgrades.


Deployment Reality Check

This is where Ziit requires more honesty than the README provides.

TimescaleDB is a non-trivial dependency. Standard self-hosted tools use PostgreSQL, MySQL, or SQLite — databases most hobbyists already have running. TimescaleDB is a PostgreSQL extension built for time-series data. It’s the right choice technically for this workload, but it means you can’t just point Ziit at your existing Postgres instance unless you’ve already installed the TimescaleDB extension. The official install path is Docker, which bundles it, but if you’re running a more manual setup you need to explicitly install TimescaleDB [README].

Bun as runtime. Bun is fast and modern but less battle-tested at scale than Node.js. For a personal time tracker this is fine; it’s worth knowing if you’re deploying this on shared infrastructure.

What you actually need:

  • Docker and docker-compose
  • A server with at least 512MB RAM (likely more in practice)
  • TimescaleDB (bundled in Docker, manual if not)
  • A reverse proxy for HTTPS (Caddy or nginx)
  • Optional: a custom domain

What the README doesn’t tell you:

  • Memory and CPU requirements for TimescaleDB under real load
  • Whether there’s a docker-compose.yml in the repo ready to deploy (the development setup docs mention bun dev rather than production Docker instructions explicitly)
  • What the upgrade path looks like when schema migrations are needed

The account deletion issue. The README links to issue #81 with no explanation in the README text itself. This is a yellow flag for anyone considering the hosted version at ziit.app. Self-hosted users aren’t affected by this, but it’s the kind of incident that reveals something about the operational maturity of a young project [README].

Realistic setup time for a technical user: 1–2 hours for a working instance, mostly spent on getting TimescaleDB sorted and configuring the IDE extension. For someone without Docker experience: add another hour minimum.


Pros and Cons

Pros

  • Data stays on your server. No third party sees your project names, file names, working hours, or editor behavior [README][3].
  • Clean, minimal dashboard. Plausible-inspired design philosophy — shows you what matters without clutter [README][3].
  • Free forever for self-hosters. No per-user fee, no data retention limits, no plan upgrades [3].
  • WakaTime data import. If you’re already on WakaTime or WakAPI, you can migrate your history [README].
  • VS Code forks and JetBrains covered. Cursor, Windsurf, and all other VS Code forks work via the VS Code extension [README].
  • Embeddable badges. A small but useful feature: display your coding time in GitHub READMEs [README].
  • REST API included. Can integrate with other tooling [merged profile].
  • Public leaderboard. Useful for teams or communities self-hosting a shared instance [README].

Cons

  • Very early stage. 218 GitHub stars and a handful of real-world users means limited battle-testing, limited community support, and limited ecosystem of guides/tutorials [3].
  • AGPL-3.0, not MIT. AGPL requires derivative works and networked services to also be open-source. If you’re embedding this in a commercial product, that’s a legal issue. For personal use it doesn’t matter, but it’s stricter than MIT [3].
  • TimescaleDB dependency adds operational overhead vs. tools that use standard PostgreSQL or SQLite [README].
  • IDE support gaps. No Vim, Neovim, Emacs, Sublime Text, or other editors. If your team uses anything outside VS Code (and forks) or JetBrains, Ziit doesn’t cover it [README].
  • No team/org features. This is a solo developer tool. No user management beyond individual accounts, no aggregated org-level reporting [README].
  • Account deletion history on hosted version. The README itself warns about this, which is unusual and worth taking seriously [README].
  • No mobile app, no browser extension. WakaTime tracks time spent in the browser, on mobile, etc. Ziit is IDE-only [README].
  • Sparse documentation. The docs at docs.ziit.app cover the basics, but there’s limited troubleshooting content for production deployment scenarios.
  • No stated SLA or uptime guarantee on hosted version. The BetterStack badge indicates uptime monitoring exists, but there’s no formal reliability commitment [README].

Who Should Use This / Who Shouldn’t

Use Ziit if:

  • You’re a developer who wants to track your coding time and actively resists sending that data to WakaTime.
  • You’re already running a homelab or personal server and adding one more Docker container is trivial.
  • You use VS Code (or a fork) or a JetBrains IDE exclusively.
  • You want a clean, focused dashboard and don’t need time tracking beyond the IDE.
  • You want to get off WakaTime Pro and stop paying $9/month for your own data history.

Skip it, use Wakapi instead, if:

  • You need WakaTime API compatibility so you can use any WakaTime-compatible extension (Vim, Emacs, Sublime, etc.) without waiting for Ziit to add native support.
  • You want a more mature self-hosted option with a larger community and more production deployments.
  • You want standard PostgreSQL without TimescaleDB complexity.

Skip it, use ActivityWatch instead, if:

  • You want time tracking across apps, not just your IDE — browsers, Slack, email, everything.
  • You want local processing with no server at all.

Skip it, stay on WakaTime, if:

  • You’re not technical enough to manage Docker containers and you just want it to work.
  • You have a team already using WakaTime’s dashboard and you don’t want to migrate.
  • You need the mobile app or browser extension.
  • $9/month is fine and you’d rather not maintain infrastructure.

Alternatives Worth Considering

  • WakaTime — the incumbent SaaS tool Ziit is replacing. Full-featured, mobile app, browser extension, $9/month for full history. Closed source [README].
  • Wakapi — the more established open-source WakaTime alternative. WakaTime API-compatible (works with all WakaTime extensions), more community adoption, standard PostgreSQL, Go backend. If you’re not committed to VS Code/JetBrains only, Wakapi has wider coverage [3].
  • ActivityWatch — broader time tracking (apps, browsers, not just IDE). Local-first, no server needed for personal use. Different use case than Ziit [3].
  • Hakatime — another self-hosted WakaTime replacement, Haskell backend, PostgreSQL. Niche but exists.
  • CodeTime (VS Code extension) — local VS Code extension that shows stats without any server. No self-hosting required, no privacy concerns, but also no history server or sharing.

For a developer specifically escaping WakaTime’s $9/month fee: the realistic choice is Ziit vs Wakapi. Ziit wins on UI polish. Wakapi wins on maturity, extension compatibility, and simpler database requirements.


Bottom Line

Ziit is a promising early-stage project that solves a real problem: WakaTime charges a recurring fee to store your own coding data, and self-hosted alternatives have historically required more setup complexity than the problem warrants. Ziit’s Plausible-inspired dashboard is genuinely cleaner than most of the competition, and if you use VS Code or JetBrains, the extension support covers the most common cases.

The honest caveat is that this is a 218-star project built by a solo developer, and it shows in the places that matter for production use: the README warns about account deletions on the hosted version, TimescaleDB adds operational weight, and the IDE compatibility list has gaps. If you’re a developer comfortable with Docker who primarily works in VS Code or a JetBrains IDE, Ziit is worth deploying today. If you need broader editor support or want a more battle-tested codebase, Wakapi is the safer choice while Ziit matures.

At 218 stars and roughly a year old, the trajectory is worth watching. The UI quality is ahead of where most projects are at this stage.


Sources

  1. AlternativeTo — Ziit (218 stars, AGPL-3.0, 2 ratings). https://alternativeto.net/software/ziit/about/

Primary sources:

Features

Integrations & APIs

  • Plugin / Extension System
  • REST API

Analytics & Reporting

  • Dashboard