Analytics is fine, tracking is the problem
I just write things that I find interesting. I'm not running a growth hack experiment. For a personal blog, you need data not for scale, but for content validation. You need to know: Did that opinionated post on pensions hit? Did that joke feature actually get a click?
Good content needs minimal, clean data to validate it.
This is why the entire cookie consent system is frustrating. The problem isn't the data itself; it's the architecture used to collect it.
Necessity vs. the "Might Be"
When you're tracking views, you have a choice:
Analytics is Curiosity: Counting anonymous views to know which post worked. This is essential for a thoughtful site.
Tracking is Surveillance: Tying that view to an individual to build a profile for external purposes, like running AdTech. It demands collecting personal identifiers and following the user across the web.
That second option isn't necessarily an invasion of privacy, but it might be. And the "might be" is the issue. We should only track what is strictly necessary. My personal curiosity ends at knowing what people are reading, and nothing more.
The minimal stack
To separate my curiosity from that surveillance architecture, I built a zero-effort, zero-cost stack. I deployed Umami on a free Vercel server with a Neon Postgres database. It took me less than half an hour.
The result? The core analytics of this site are handled without a banner. Umami only collects anonymised, aggregated data. We get over 16,000 visitors in the last month—yes, that's "fuck all," but it's 16,000 ethical sessions where no one had to consent to surveillance.
What minimalism tells me about the content
The data is clear and actionable, proving the value of simple curiosity:
The Content Lives Forever: I don't post to Hacker News anymore, but my analytics show links from old posts there are still driving traffic years later. That's a huge return on investment for a personal site.
AI is Hyper-Specific Discovery: I've noticed a substantial increase in clicks from services like ChatGPT and Perplexity, but only for my niche technical articles on CRDTs and AI economics. The AI is acting as a highly specific technical referral engine.
The Joke Was Trackable: The entire reason I set this up was to see if anyone clicked on shakespeak. Analytics told me it only got a few clicks, mostly from X and LinkedIn. It's a stupid app—it'll eat 700MB of your data—but I know who's clicking it.
The real reason for biscuits 🍪
(Obviously, I mean cookies.)
So, why do I have a "biscuits" banner at all? It's not for the analytics.
It is entirely for the joke. The /shakespeak page has a downloadable LLM that runs in your browser. The moment you introduce any non-standard, user-controlled element—even a joke one—you trip a compliance wire.
The fact that I can run the entire site's readership analytics for free and be fine, but a joke LLM requires a banner, perfectly sums up the ridiculous state of the web. The ethical, free option is now the easiest path. You choose necessity over the "might be."