Aayush Goenka

I built my own website analytics on my first server

So I wanted to actually start tracking traffic and engagement on my site: who’s landing where, what they read, how far they scroll. The free options, Google Analytics and the rest, all hand you aggregates. Nice charts, but the granular, row-level data underneath stays theirs, not yours. And as a data analyst, that’s exactly the part I wanted. Full control over what gets captured and where it lives.

So I spent basically the whole day figuring out how to own the entire thing myself.

Became clear pretty fast that I needed my own VPS, a virtual private server, basically a computer I rent that stays online in a datacenter. My laptop couldn’t do the job: home internet hands out a changing IP, the machine sleeps, and it’s not built to sit there catching web traffic around the clock. A VPS has a stable address and quietly collects every hit. I also learned the actual shape of what I was building, which is really one clean pipeline. Six steps: capture, send, ingest, store, query, show.

Then I found a cheap $6-a-month VPS and set it up myself, with AI walking me through, not just how, but why each step mattered: locking it down, keeping it patched, serving it securely. My first server, ever. Honestly? Felt magical. Then the data schema, the shape of what I’d actually store.

One thing I chose to defer. There are real rules around tracking (GPC, GDPR) I’ll need to handle properly, but after a full day I didn’t want to open that whole box yet (more on that another day). So I went cookieless, which sidesteps the consent-banner complication for now. It still captures plenty: pageviews, scroll depth, outbound clicks, engaged time, plus a coarse location and device, all with no cookie and no stored IP. Then I wrote a plain privacy notice on the site spelling out exactly what gets recorded.

And that was it. I can finally see where my traffic actually comes from, in raw detail, with no third-party vendor in the middle. Genuinely fun day.


← Back to the log