Overview
Discover what makes Ziit powerful
Ziit is a lightweight, self‑hosted time‑tracking platform designed for developers who want granular visibility into their coding habits while preserving privacy. At its core, Ziit collects telemetry from IDE extensions (VS Code, JetBrains, etc.) and aggregates it into a relational time‑series database. The dashboard exposes metrics such as active projects, programming languages, editors, file paths, Git branches, and operating systems. Unlike cloud‑centric alternatives, all data resides on the user’s server, giving full control over retention policies and compliance requirements.
Runtime
API Layer
Database
Frontend
Overview
Ziit is a lightweight, self‑hosted time‑tracking platform designed for developers who want granular visibility into their coding habits while preserving privacy. At its core, Ziit collects telemetry from IDE extensions (VS Code, JetBrains, etc.) and aggregates it into a relational time‑series database. The dashboard exposes metrics such as active projects, programming languages, editors, file paths, Git branches, and operating systems. Unlike cloud‑centric alternatives, all data resides on the user’s server, giving full control over retention policies and compliance requirements.
Technical Stack
- Runtime: Bun (Node.js‑compatible runtime) powers the backend, offering fast startup times and a modern JavaScript/TypeScript ecosystem.
- API Layer: The server exposes a RESTful API alongside GraphQL endpoints for flexible data retrieval. Authentication is JWT‑based, with OAuth support for GitHub logins.
- Database: TimescaleDB (PostgreSQL + time‑series extension) stores telemetry. Prisma ORM handles schema migrations and type safety, ensuring that time‑based queries remain performant.
- Frontend: A React SPA built with Vite, styled using Tailwind CSS. The UI mimics Plausible Analytics for intuitive data exploration.
- Extension SDK: The VS Code and JetBrains plugins communicate over WebSocket to push events to the server in real time.
Core Capabilities
- Real‑time Event Ingestion: IDE extensions emit events (
fileOpen,cursorMove,gitCommit) that are batched and sent to the server, minimizing network overhead. - Time‑Series Aggregation: TimescaleDB’s hypertables enable efficient hourly/daily/weekly rollups without manual materialized views.
- Import Tooling: A CLI can ingest WakaTime CSV or WakAPI JSON, allowing migration from existing services.
- Badge Generation: The API returns SVG badges that embed total coding time for a project, suitable for README files.
- Webhooks & API Hooks: External services can subscribe to
user.created,project.updated, ortime.loggedevents, enabling CI/CD pipelines or analytics dashboards.
Deployment & Infrastructure
Ziit is designed for containerized environments. A single docker-compose.yml (or Kubernetes manifests) can spin up the API, TimescaleDB, and a reverse proxy. The application supports horizontal scaling of stateless workers; the only shared state is the TimescaleDB instance, which can be sharded or replicated for high availability. Environment variables control feature flags, OAuth client IDs, and database URLs, making it straightforward to run in CI or on a VPS.
Integration & Extensibility
- Plugin System: The backend exposes an extensible plugin API where developers can hook into event streams, apply custom transformations, or enrich data before persistence.
- OpenAPI Spec: The REST API is documented with Swagger, enabling automatic client generation in any language.
- Custom Dashboards: The React front‑end can be forked to create bespoke visualizations, leveraging the same data contracts.
- Community SDKs: A TypeScript client library (
ziit-sdk) simplifies integration for custom tooling or internal dashboards.
Developer Experience
Ziit ships with comprehensive documentation: installation guides, extension setup tutorials, and an API reference. The project is actively maintained on GitHub with a transparent issue tracker and a supportive Discord community. Configuration is declarative via .env files, and the Prisma migration workflow keeps schema changes predictable. The codebase follows standard TypeScript linting rules, making onboarding smooth for contributors.
Use Cases
- Team Analytics: Companies can host Ziit to monitor coding productivity while keeping logs on-premises, satisfying GDPR or SOC2 constraints.
- Personal Productivity: Solo developers can track time spent on different languages or projects, generating monthly reports for self‑reflection.
- Open Source Projects: Maintainers can expose public leaderboards or badges to showcase contributor activity without exposing raw telemetry.
- CI/CD Pipelines: By importing build logs or test durations, teams can correlate code churn with performance regressions.
Advantages
Ziit offers a compelling mix of privacy, performance, and extensibility. Its TimescaleDB backend ensures low‑latency queries even with millions of events, while Bun’s fast startup keeps the dev experience snappy. Unlike proprietary SaaS solutions, Ziit removes vendor lock‑in and allows custom authentication flows or on‑prem analytics. The lightweight API, coupled with a well‑structured SDK, empowers developers to build tailored dashboards or integrate coding metrics into existing tooling.
Open SourceReady to get started?
Join the community and start self-hosting Ziit today
Related Apps in other
Immich
Self‑hosted photo and video manager
Syncthing
Peer‑to‑peer file sync, no central server
Strapi
Open-source headless CMS for modern developers
reveal.js
Create stunning web‑based presentations with HTML, CSS and JavaScript
Stirling-PDF
Local web PDF editor with split, merge, convert and more
MinIO
Fast, S3-compatible object storage for AI and analytics
Weekly Views
Repository Health
Information
Explore More Apps
Teleport
Secure, unified access to all infrastructure
Kener
Stunning self‑hosted status pages in Docker
HortusFox
Collaborative, self‑hosted plant management for tech‑savvy gardeners
Gitea
Fast, lightweight self-hosted Git platform
Admidio
Open‑source membership and access control for groups
Canvas LMS
Open‑source learning platform for educators and students