The $0 Analytics Stack: Vercel Analytics, PostHog, and Why Not to Self-Host
A free, privacy-friendly analytics setup for founders: start with Vercel Analytics, graduate to PostHog cloud — and never self-host it.
Table of contents7 sections
The Night I Almost Paid for Analytics
In 2023, I was deep into Clickly — my Bitly-style URL shortener that I over-engineered into oblivion (that whole saga is the advanced database guide). The entire pitch in my head was: store every single click — millions of events — and let users see their analytics, all while I paid basically nothing. I spent three weeks benchmarking columnar stores and time-series databases to shave fractions of a paisa off each stored event.
And then one night, I was setting up the dashboard. Not the click-storage engine — the actual “how many people visited my landing page” analytics. My finger hovered over a $19/month plan for some analytics tool I’d convinced myself I needed.
I stopped. And I laughed at myself.
Here I was, obsessing over storing ten million events for free, about to hand over $19 a month to count the four people who’d visited a product that didn’t exist yet. One of them was me. One was my mom. The other two were bots.
That’s the trap. Analytics feels like a thing you have to pay for, because every dashboard company on earth is very good at making you feel that way. You don’t. Not for a long, long time. Here’s the exact stack I use to run analytics for zero dollars — and the one mistake that quietly bleeds broke founders dry.
Analytics Is Actually Two Different Jobs
Before you pick a tool, get this straight, because mixing them up is how you overpay.
Job one: traffic analytics. How many people hit my site? Where did they come from? Which pages? This is the top-of-funnel, “is my distribution working” question. It’s the thing you check obsessively in week one when you’ve just posted on Reddit and you’re refreshing to see if anyone showed up.
Job two: product analytics. What do people do once they’re inside? Where do they rage-click? Which step of onboarding do they abandon? Did the new button actually get used? This is the deeper stuff — funnels, session recordings, feature flags, A/B tests. (It’s also exactly the toolkit for conversion rate optimization — finding the step where people bail and fixing it, for free, instead of buying more traffic.)
You need job one from day zero. You need job two once you actually have users doing things. Most founders reach straight for a heavyweight product-analytics tool on day one, pay for it, and then use 2% of it to check a visitor count they could’ve gotten for free.
So we do it in that order. Free first. Heavy later. Still free.
Start With Vercel Analytics (You Already Have It)
If you’re deploying on Vercel — and if you read the deployment tier list, you know it’s my default for anything frontend — then the fastest analytics you’ll ever set up is already sitting in your dashboard.
Vercel Web Analytics gives you 50,000 events a month for free on the Hobby plan. That’s real, and it’s plenty for a product finding its feet — roughly 20,000 to 30,000 page views depending on how you count. You flip one toggle, add their tiny script (or the @vercel/analytics package), redeploy, and you’re done. No cookie banner headache — it’s privacy-friendly and doesn’t fingerprint people.
Two things to actually know, because I like you knowing where the walls are:
- It’s traffic analytics, not product analytics. Page views, referrers, top pages, countries. That’s it. No funnels, no session replay. And that’s fine — that’s exactly job one.
- On Hobby, once you cross 50,000 events, collection just pauses after a short grace period until the next cycle. You can’t buy your way over the limit on the free plan; you’d have to jump to Pro. But if you’re hitting 50k events on a bootstrapped project, congratulations — you have a real distribution problem worth paying to measure, and by then Pro’s cost is noise.
My take: turn it on before you write your first blog post. It costs you nothing and ten minutes, and it answers the only question that matters early — is anyone even coming?
Graduate to PostHog — One Wallet, A Dozen Tools
Here’s where it gets good. When Vercel Analytics stops being enough — when you stop asking “how many people came?” and start asking “why did they leave?” — you move to PostHog.
PostHog is the holy grail for developers, and I don’t say that lightly. It’s open-source, and it bundles what would normally be five separate subscriptions into one bill: product analytics, session replays, feature flags, A/B experiments, surveys, error tracking, even a little AI assistant. (Fun fact for the database nerds who read my Clickly rabbit hole: PostHog runs on ClickHouse under the hood — the same enterprise-grade analytics engine I nearly bankrupted my imaginary self trying to self-run.)
The free tier is genuinely, almost suspiciously generous. Every month you get:
- 1 million product-analytics events
- 5,000 session replays
- 1 million feature-flag requests
- 100,000 error-tracking exceptions
- 1,500 survey responses
A million events. Free. Every month. It resets — there’s no rollover — but for a founder with a few hundred, even a few thousand real users, you will not sniff that ceiling for a very long time.
And here’s the part that fits the Broken Engineer religion: PostHog’s paid model is pay-as-you-go, not a fixed monthly subscription. You load your wallet with, say, $20, and you draw down against it only when you exceed the free allowances. No “$99/month whether you use it or not” nonsense. The money you don’t spend just… stays yours. That’s the whole reason I love it. It respects that some months you’re heads-down shipping and some months your product is a ghost town.
One more thing PostHog quietly kills: your Sentry bill. If you’re already in PostHog for analytics, its error tracking can handle the “things are breaking” job too. Why pay two companies to watch your app when one already is? (Folding tools into each other like this is the whole spirit of the broke solopreneur’s survival guide — this post is really just the deep dive on its analytics section.) It also means you can skip the big, scary observability suites entirely — here’s why I never paid Datadog to watch my SaaS.
Why You Must NOT Self-Host PostHog
Now the part that made me want to write this whole post.
The second an engineer hears “open-source” and “PostHog” in the same sentence, a little goblin wakes up in their brain and whispers: you could self-host this. For free. On a cheap VPS. I know that goblin. I am that goblin. On Railway there’s even a one-click PostHog template sitting right there in the deploy library, taunting you. I’ve clicked it. It felt amazing for exactly one afternoon.
Don’t do it. And you don’t have to take it from me — take it from PostHog itself.
They deprecated their own self-hosting. Straight from their docs: “New deployments of PostHog’s paid open source product using Kubernetes are no longer supported.” What’s left is a bare “hobby” build that’s meant to handle only a few hundred thousand events a month before it starts falling over — right about the threshold where their free cloud tier is still comfortably yawning. And their recommendation could not be blunter: PostHog Cloud is “far and away the best experience for the vast majority of our users,” and — this is the kicker — “usually far cheaper than doing it yourself.” Oh, and if you self-host and it breaks? You “assume all responsibility and risk.” No guarantees.
Read that again. The company that makes the software, that would love your money, is telling you the free hosted version beats the one you’d run yourself. When has that ever happened?
The math is brutal once you’re honest about it. Self-hosting PostHog isn’t a static Docker container — it’s ClickHouse, a queue, workers, storage, upgrades, security patches, and the analytics database filling up your disk while you sleep. You’ll spend a Saturday setting it up, feel like a genius, and then three weeks later it’ll fall over at 2 AM and you’ll be SSH-ing into a box to figure out why your event ingestion stopped — instead of doing literally the only thing that matters, which is getting users. You’ll have “saved” $0 (the cloud tier was free!) to buy yourself a second job as an unpaid DevOps engineer.
I have a whole special grave for self-hosting in the deployment guide, and this is the same lesson in a different costume: self-host to learn, never to run a business. The only real reason to self-host PostHog is hard data-sovereignty rules — healthcare, fintech, government. If that’s not you, and it almost certainly isn’t yet, the cloud free tier is the answer.
Let the platform babysit the infra. You go build the product.
But What About Plausible, Umami, and GA4?
Fair questions. Quick, honest takes.
Google Analytics (GA4). It’s free and it’s everywhere, so people default to it. I don’t. The GA4 interface is a genuine maze — you’ll spend more time hunting for a simple page-view number than you would have spent installing anything else. Plus you’re handing your visitor data to the world’s biggest ad company. If you love the ecosystem, fine, but for a small SaaS it’s overkill wrapped in confusion.
Plausible. Lovely, clean, privacy-first, open-source, European. The catch for us broke folks: no permanent free tier. It’s a 30-day trial, then it starts at around $9/month for 10,000 pageviews. Worth every cent if simple privacy-friendly analytics is your whole need — but for job one, Vercel Analytics does the same thing for $0.
Umami. Open-source, privacy-focused, and its cloud has a real free tier — 100,000 events a month, no credit card. That’s a legitimate free alternative to Vercel Analytics if you’re not on Vercel. Full disclosure of a personal pet peeve: I’ve never gelled with their login flow, so I don’t reach for it. Totally a me problem — your call. And yes, you can self-host Umami, since it’s genuinely lightweight — that’s the rare case where the self-host goblin is right, because it’s just a small app and a Postgres table, not a ClickHouse cluster.
None of these are wrong. They’re just not cheaper than the two-step stack above for what a bootstrapped founder actually needs.
The Bottom Line
You do not have a data problem in month one. You have a “does anyone care” problem. And you can measure that for free, forever, with a stack that scales all the way up to real traction:
- Vercel Analytics for traffic. One toggle. 50k events free. Turn it on today.
- PostHog Cloud for product analytics, replays, flags, and error tracking, when you’re ready. A million events free every month, pay-as-you-go after.
- Never self-host PostHog. The company that built it told you not to. Listen to them.
The whole point of the Broken Engineer thing isn’t cheapness for its own sake — it’s refusing to pay for pain. Self-hosting analytics is paying (in time, the most expensive currency you’ve got) for the privilege of a 2 AM outage. Skip it. Wire up the free tools, forget they exist, and go pour your hours into the one line item that actually moves the needle: distribution.
If you want the full picture of what a lean stack costs end to end, I added up my actual monthly bill line by line — and analytics was, predictably, a beautiful $0 on it. That’s the whole game.
This is the Broken Engineer Guide. I over-engineer everything, fail at business, and share the scars so you can skip them. Now stop staring at your visitor count and go get some visitors.
