Umami
Privacy-focused web analytics, as a cloud service or self-hosted on PostgreSQL
- Category
- Web platforms & developer tools
- Best-fit role
- SQL/database engineer DX study
- Focus
- Query optimization Kubernetes deployment guides Dashboard features
- Links
- umami.is
The product
Umami is a simple, fast, privacy-focused alternative to Google Analytics. Teams can use it as a cloud service or self-host it. A self-hosted install needs Node.js and a PostgreSQL database, and the build step creates the database tables on first install. For container setups, Umami ships official Docker images and a Docker Compose file that runs it alongside PostgreSQL.
The developer problem
Self-hosting moves the hard parts to the operator. With a self-hosted Umami, the analytics data lives in the operator’s own PostgreSQL database, so how quickly the dashboard answers depends on queries running against an instance the maintainers never see, holding more data every month. Deployment is the other half. A Docker Compose file suits a single host, but teams that run everything on Kubernetes need a tested path from the official images to a cluster, including how PostgreSQL is provisioned and how the first-install table creation behaves there.
My focus
- Query optimization. I’d focus on the queries behind the dashboard, profiling them against a PostgreSQL database loaded with realistic data and proposing index or query changes where they slow down.
- Kubernetes deployment guides. I’d map a path from the official Docker images to a Kubernetes cluster, using Helm where it fits, and test it on a clean install before writing it up.
- Dashboard features. My focus would be dashboard views in React and TypeScript that answer one question per screen, with the cost of the query behind each view checked as part of the design.
- API docs. I’d check the API docs against the source, endpoint by endpoint and parameter by parameter, so they describe what a self-hosted instance actually serves.
Why it fits my experience
- At Mitutoyo I designed SQL Server schemas for measurement records and tuned the queries as customer databases grew into the tens of millions of measured features.
- At Mitutoyo I also built the statistical process control reporting module, covering control charts and capability indices, and the report exports quality engineers submitted to their own customers. Alongside it I built an ASP.NET MVC dashboard so plant managers could see line status in a browser without a client install, which had been the single most common support complaint.
- At Meta I build the sample projects before documenting them, so every procedure has been run before a developer follows it.
Screens · 04
- View larger:
FIG 10.2 Introduction page of the Umami documentation, with a screenshot of the dashboard · umami.is - View larger:
FIG 10.3 Campaigns section of the Umami home page, comparing two date ranges in the dashboard · umami.is - View larger:
FIG 10.4 Locations section of the Umami home page, with the visitor world map · umami.is - View larger:
FIG 10.5 Platform page listing the acquisition features in Umami · umami.is
Screenshots of the public umami.is site. Umami and its marks belong to their owners; shown to identify the product. No affiliation or endorsement is implied.