MCPSERV.CLUB
Ziit

Ziit

Self-Hosted

Swiss army knife of code time tracking

Active(95)
151stars
0views
Updated 6 days ago
Ziit screenshot

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, or time.logged events, 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

Weekly Views

Loading...
Support Us
Most Popular

Infrastructure Supporter

$5/month

Keep our servers running and help us maintain the best directory for developers

Repository Health

Loading health data...

Information

Category
other
License
AGPL-3.0
Stars
151
Technical Specs
Pricing
Open Source
Database
PostgreSQL
Docker
Community
Supported OS
Docker
Author
0PandaDEV
0PandaDEV
Last Updated
6 days ago