Build1 distinct publisher3 min readPublished
PostHog put 344 visitors against exactly 344 pageviews on one country row, which is arithmetic no crowd of humans commits, and whatever produced it ran enough JavaScript to sail past a server-side filter.
The Engineer · Build desk

Compiled by The EngineerSomething wrong?How this is made
The load-bearing detail is the denominator. The ratio the author broke out was pageviews per visitor, not per session, and one country row came back at 344 visitors against exactly 344 pageviews [4]. An average of 1.00 in a population where every visitor contributes at least one pageview means every visitor contributed exactly one [24]. Over 90 days, all 344 left from the page they landed on. Real traffic has a tail of people who click a second link, which is the author's stated reason for calling it a script even though he says he cannot prove it [5].
Whatever fetched those pages executed JavaScript. The pageview fires from inside the document, so a client that never runs the bundle never lands in that count at all; the author's own reading is that the traffic ran enough JavaScript to fire a pageview, which is why a server-side user-agent block never caught it [6]. The filter and the fingerprint sit on different layers. One reads a request header. The other is only visible in what the page does after it loads.
The scale of it: 344 plus the 222 US visitors at 1.01 pages each is 566 of the 735 visitors PostHog recorded for the window, or 77% [20]. Organic search's 24 is 3.3% of that same total [21]. The estimate of fewer than 150 real humans puts the human share under 21% [22]. Spread across 38 tools, 24 organic visitors is under one visitor per tool per quarter [23].
The identity bug is a separate failure with a similar shape. `distinctId || "anonymous"` writes the literal string whenever the caller has no id [9], and distinct_id is the key events are attributed on, so every unidentified server event landed on one profile with tens of thousands of events [10]. Funnel steps join on that key. Any funnel with a client step and a server step therefore converted at zero regardless of what users actually did [11], and the phantom inflated Direct as well [12]. The most engaged user in the project was a default argument. The fix parses the cookie posthog-js already sets, `ph_<project key>_posthog`, and pulls distinct_id from it, returning null when there is no key or no cookie header [13]. Returning null is the design: drop the event or mint a per-request id, rather than merge unrelated people under a shared sentinel [14]. That line had been in production for months [15].
The source does not isolate what the JSON-LD, the llms.txt or the markdown twins contributed, because there is no before-and-after to compare against. What it does show is the ceiling with all of them shipped, on queries the author says belong to jwt.io, jsonformatter.org and iLovePDF, domains carrying fifteen-plus years of backlinks [16]. He also found no mechanism by which one visitor could produce a second: one static share image, no linkable results, and five games that kept score in `useState` and lost it on refresh [18].
The 1.00 test transfers if two things hold in your own data. The metric has to be pageviews per visitor, since per-session averages hide the returning human who would push it above 1. And each segment has to be large enough that exact equality is improbable; at 344 that is a finding, at five visitors it is noise. The grouping that produced it took thirty seconds [25].
Ranked by verification strength, evidence, and original report placement.
Broken down by country, one row showed 344 visitors and exactly 344 pageviews; the 222 visitors from the US came in at 1.01 pages per visitor.
The site hosts 38 free developer tools (JSON formatter, JWT decoder, base64, PDF merge, OCR, background remover), 113 URLs in the sitemap, JSON-LD on every tool page, an llms.txt, markdown twins of every page for AI crawlers, and three analytics vendors wired up.
Last quarter the site got 24 visitors from organic search, over 90 days.
The AE row at 11.8 pages per visitor is the author himself, who lives there, making him a meaningful fraction of his own engaged traffic.
The server-side analytics helper called client.capture with distinctId: distinctId || "anonymous", so every server-side event without an explicit ID was attributed to a person literally named "anonymous".
Distinct publishers with included, body-backed reporting in this cluster.
1 article · September 6, 2026
Follow any of these and your For You feed starts watching them — no settings page required.
build
A default JSON-LD bundle beats a taxonomy research project on every new site1 distinct publisher
build
A 74 on the agent-readiness scoreboard, and two checks worth failing1 distinct publisher
build
AI built the store in weeks. Production itemised what the apprenticeship would have cost1 distinct publisher
build
WooCommerce catalog mode: the price you hid is still sitting in eight places1 distinct publisher
Evidence-backed comparisons of source perspectives and observed adoption signals. Read the methodology
Which Builder, Operator, and Investor concerns the observed source mix emphasized—not a truth score.
Evidence, demonstrated adoption, hype gap, incentives, and confidence are assessed independently, each on its own current evidence. How these are measured.
One owner, one dashboard, checkable arithmetic
Everything traces to one developer describing his own analytics. The dashboard screenshots he points at do not survive into the text. What holds without them is the arithmetic: 344 visitors reported against exactly 344 pageviews forces every one of those sessions onto a single page, and the corrupted identity is legible in the capture call as quoted. Where the footing gives way is attribution, since no logs, user-agent samples or vendor confirmation accompany the bot verdict.
Near-zero traffic, fixes live on one site
Adoption barely registers here. Across 90 days on 38 tools there were 24 visitors from search, 0.63 organic visitors per tool per quarter, and by the owner's own subtraction fewer than 150 humans in three months. Both engineering fixes are running in exactly one place, with no follow-up numbers on either.
Understates itself, overreaches once
The post undersells rather than oversells; the confession is the content, and the numbers it volunteers are humiliating by design. The single stretch is writing off 566 of 735 visitors as scripts on the strength of a ratio the author admits he cannot prove, and our own headline leans on that same inference.
Owner reporting on his own property
The author owns the site, owns the analytics account, and benefits from any attention the post sends to either, and nobody else can audit the figures. Pulling the other way, what he discloses is a data-corruption bug he shipped and left running for months, the kind of admission that promotional writing normally avoids. PostHog and Next.js are named throughout with no sign of a commercial relationship in either direction.
Actionable code, unverifiable numbers
The snippets and the ratio arithmetic are solid enough to act on tomorrow, while the traffic composition is one person's inference from one unaudited dashboard, and with no second account of it nothing can move the estimate either way.