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 home page with the headline "The complete picture of your website", a blue Get started for free button, and the top of an analytics dashboard with visitor metrics.
FIG 10.1 Umami home page hero above a preview of the analytics dashboard · 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

Umami docs Introduction page with a sidebar of setup topics and a dashboard screenshot showing visitors, visits, views, bounce rate, visit duration, and a daily bar chart.

FIG 10.2 · Introduction page of the Umami documentation, with a screenshot of the dashboard · umami.is

1 / 4

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.