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
- git clone https://github.com/umami-software/umami.git && cd umami
- docker compose up -d
- Open http://localhost:3000 and log in with username: admin, password: umami
- Change your password and click Add Website to generate a tracking code
- Inspect the generated script tag and tracking URLs