2,200 Views Later, We Had to Ask: What Counts as a View?
September 11, 2026
•3 min read
•127 views
•Engineering Notes

A few days ago, our blog dashboard crossed a number that made us pause: 2,200+ total views. Some individual posts were sitting at 270, 280, even close to 400.
Good news, right? Maybe. But instead of just celebrating it, we asked a simpler question first:
What does a "view" actually mean on our platform?
Built by NFORSHIFU234 Dev. We share the things we build — and the things we get wrong — as we go.
The moment we got suspicious
Our blog view system works by logging individual events — a slug, a timestamp, and a network identifier used purely to spot automated traffic patterns — before rolling them up into the publicview_count you see on each post. That identifier exists to tell real readers from bots, isn't used to profile or identify anyone personally, and is handled under the same terms as the rest of our Privacy Policy. Because we keep that log, we could actually go and look at what was generating our numbers, instead of just trusting a counter.
And some of what we found was odd. The same article getting hit from several different IPs within seconds of each other. A single IP working its way through multiple unrelated articles in the space of a couple of minutes. Patterns that felt more like something automated than someone genuinely reading.
What we didn't do
We want to be precise here, because it matters: we are not claiming our 2,200 views were fake. That would be an easy — and wrong — story to tell. A real request hit our servers. Our database really did log an IP and a timestamp for every one of those events. The activity happened. What we didn't have was a reliable way to say who — or more accurately, what — was behind each request. A page view can come from a human, sure, but it can just as easily come from a search crawler, a bot, a monitoring service, or an automated scanner. Our old system treated all of them the same. So the honest version of events is: our historical numbers are real recorded activity of unknown composition. Some portion is almost certainly human. We just can't retroactively say how much.What we fixed
Rather than sit with that uncertainty, we rebuilt the tracking logic to actually classify traffic as it comes in — separating human requests from bot/automated ones — and made that distinction visible in our own dashboard, not just buried in a log table. Bot traffic is still recorded for transparency, but it no longer counts toward the public number. As of today, August 12, 2026, new blog view events are classified as human or automated before they can affect the public view count. Small number. But it's a number we can actually trust.Why this matters more than the number itself
It would've been easy to leave the old counter alone — a big number looks good on a dashboard. But a number you can't explain isn't really data, it's decoration. We'd rather have a smaller number we understand than a bigger one we're guessing about. Going forward, this gives us something genuinely useful: we can start tracking not just how many people read a post, but which posts actually drive real engagement — sign-ups, return visits, the things that matter to a small team building in public. "This article got 180 verified human views and led to 12 new users" is a sentence we can actually act on. "This article has 393 views" wasn't.The takeaway
If you're building anything that counts activity — views, clicks, signups — it's worth asking early: what am I actually counting? We didn't get it right the first time. We don't think that's unusual for a small, fast-moving team. What matters is that we noticed, investigated with real evidence instead of assumptions, and fixed it. Our numbers start meaning something again today. We're okay with that being a smaller number for a while.Built by NFORSHIFU234 Dev. We share the things we build — and the things we get wrong — as we go.