Case studies·Tools

Simple Analytics

Privacy analytics without Kubernetes cosplay

Adriaan van Rossum built Simple Analytics — a privacy-friendly Google Analytics alternative — in three months using Node.js and Postgres, then added Elasticsearch when aggregations hurt. Multiple plain servers, no containers, EU hosting.

2018

Three-month MVP, tools already known

MVP shipped · Product Hunt + HN launch

Van Rossum started Simple Analytics after refusing to paste Google Analytics on his own sites. His Code Story interview is explicit: previous products died because he kept learning new frameworks — this time he used only Node.js, Postgres, and Chart.js.

The MVP took about three months. He launched on Product Hunt and Hacker News with a cookieless, privacy-first pitch — finished on time because boring tools did not block shipping.

Lesson

Pick tools you have muscle memory for. Novelty is a tax on launch dates.

2019–2020

Four servers, encrypted main, queue for uptime

4-server architecture · Iceland then Netherlands hosting

His “failure” post documents the production layout: a Queue server collects pageviews from embed scripts; the Main server is encrypted and only boots with a password; a Testing server runs acceptance checks; an External server handles custom domains and SSL — separation of concerns without Kubernetes.

They moved servers to Iceland (1984 hosting) for privacy, then adjusted CDN strategy when embed latency ticked up. Postgres carried the MVP; Elasticsearch arrived later when drill-down features needed faster aggregations.

Lesson

Encrypt the crown jewels, queue the rest. Uptime for analytics means never losing a pageview batch because someone rebooted.

2021–today

Elasticsearch when Postgres hurt, still no k8s

Privacy-first analytics SaaS · small team, plain servers

Van Rossum hired Elasticsearch expertise when Postgres aggregations across five tables became painful — a deliberate graduation, not day-one over-engineering. Monthly updates describe fully encrypted API servers scaling horizontally with customers.

Simple Analytics stays off containers and orchestration by choice: multiple dedicated servers in the Netherlands, Cloudflare for DNS/CDN, transparency posts about outages and architecture. The product sells trust, not infra novelty.

Lesson

Swap databases when queries hurt, not when HN announces a fork. Privacy products need boring reliability more than fashionable orchestration.

Sources

Facts drawn from public engineering posts and interviews. Numbers are approximate where sources disagree — we're stack advisors, not historians.

Get the right stack for YOUR scale — not theirs

Simple Analytics's stack made sense for Simple Analytics. Yours won't — and copying theirs is how you end up with a $4k/month bill and three unused Kubernetes clusters.

Plan my stack — free