Day 43 / Daily GitHub Discovery / Developer Tools

Umami

Privacy-focused, self-hosted web analytics platform that respects GDPR without cookie consent.

~25,000 stars · checked Oct 4, 2026
TypeScriptNext.jsReactPrismaPostgreSQLMySQLRedisTailwind CSSDocker
Visit GitHub (opens in a new tab)

What it does

Umami is an open-source, self-hosted web analytics platform that tracks page views, visitors, referrers, and custom events without using cookies or collecting personal data, ensuring GDPR, CCPA, and PECR compliance by default.

Why it’s interesting

Google Analytics has become bloated and legally complex. Umami rethinks analytics with a lightweight, developer-friendly architecture: the tracking script is under 2KB, executes asynchronously, and you retain 100% data ownership with zero third-party leakage.

Real-world use case

Self-host Umami on a VPS to track traffic across your SaaS applications, documentation sites, and blogs. Embed a single script tag to get real-time visitor counts, geographic distribution, and custom conversion events without any cookie banner.

What I can learn

  • 01

    Cookie-Free Visitor Session Hashing

    Learn how Umami computes daily rotating cryptographic session hashes combining IP, User-Agent, and a secret salt to track unique visitors without persistent cookies.

  • 02

    High-Throughput Analytics Ingestion

    Study how Next.js API routes buffer and batch analytics beacons to PostgreSQL via Prisma to prevent write-lock contention under traffic spikes.

  • 03

    Responsive Multi-Tenant Dashboards

    Explore how to build high-performance dashboards using Tailwind CSS and Chart.js supporting real-time drill-down filtering.

One thing to explore

Analytics Beacon Handler and Queries

Inspect src/pages/api/send.ts and src/queries/ to see how incoming payloads are validated, hashed, and committed to relational tables.

Explore the source (opens in a new tab)

10-Minute Challenge

Run Umami locally with Docker Compose

Before you start: Docker Compose installed, 5 minutes

  1. git clone https://github.com/umami-software/umami.git && cd umami
  2. docker compose up -d
  3. Open http://localhost:3000 and log in with username: admin, password: umami
  4. Change your password and click Add Website to generate a tracking code
  5. Inspect the generated script tag and tracking URLs

Keep exploring

All repositories →