Analytics and monitoring decision

Umami Cloud

A small team or single competent developer can build a useful, privacy-first analytics replacement covering core pageview/event collection and basic dashboards in about a week; richer features and hosted convenience are the main reasons to pay.

Visit website
You pay

$9/mo

$108/yr

Not verified against a pricing page.

You’d pay instead

$50one-off30 h to build

$35/mo5 h/mo upkeep

On cash alone, building overtakes the subscription at 5 seats.

Open-source builds that already do this

Every project below is open source and already does this job today. Fork one, self-host it, or take the parts you need - the build prompt further down assumes an empty file, and this is the shortcut past that. Licences differ; check the one on each card before you ship. All Umami Cloud alternatives, with the arithmetic →

What a replacement has to do

  • Collect anonymous pageview and event hits from a tiny tracking script, store them in a relational DB, and display aggregated metrics in a simple dashboard.

What it still won’t have

  • Advanced insights: funnels, retention cohorts, journeys
  • Session replays and heatmaps
  • Teams/collaboration features and role management
  • Managed cloud convenience and hosted backups
  • Polish, integrations, and extensive tracking config

What remains hard

  • Product polish and ongoing maintenance
Read the build prompt

First-year cost

Keep paying

Paying is—cheaper in year one.

On cash alone, building overtakes the subscription at 5 seats.

Paid seatsseats

Money you would actually spend

Keep paying
—

Subscription price × seats × 12

Build it
—

AI build —APIs + hosting —

Time you would spend

—

—

What you would spend

What we assumed

The verdict above measures whether you could build it. This one is only about money.

Runnable build prompt

Not run yet
Build a minimal privacy-first web analytics service using Node.js (Express) + Postgres and a vanilla JS tracking snippet. In scope: (1) produce a <2KB tracking script that sends anonymous pageview and custom-event POSTs to /collect, (2) implement an Express collector that validates payloads and writes raw events and daily aggregates into Postgres, (3) implement REST endpoints to return aggregated metrics (pageviews, visitors, bounce rate) for a single site, (4) build a simple React single-page dashboard that displays metrics and time-series charts, (5) provide Docker Compose for local deployment and a managed-Postgres-ready env var config. Out of scope: funnels, session replay, heatmaps, teams, advanced attribution, and managed hosting. Include input validation, error handling, basic unit tests for collector and aggregation logic, and a short README with deployment steps.
How we checked4 sources · 2/3 runs agreed · evidence score 86

How the score was reached

  • Build verdict base78
  • An open-source build was found+5
  • 4 cited sources+3
  • Evidence score86

The base comes from the verdict. Everything under it is a check that either happened or did not, and each one is a fact frozen in this record rather than a judgement made at render time - so the same evidence always produces the same number.

How scoring works →

Cited sources · 4

Every page the run actually retrieved.

Integrity checks

What held up, and what did not.

! Price not confirmed on the page - this pricing page renders its price in the browser! 2 of 3 runs agreed; the verdict is the majority✓ Citations limited to fetched pages! 1 moat recorded