Why I built a spinning globe to watch AI read my site
Cite-met's Global View renders every human, search, and AI-crawler hit on a live globe. Why I built dashboards' oldest cliché on purpose, and the machinery that keeps the AI-traffic number honest.
July 21, 2026 · 8-min read
The spinning globe is the oldest cliché in software. Every security vendor has one, every observability startup, half the "mission control" landing pages that want to look like NORAD. Almost none of them mean anything, because the dots are random and the arcs don't stand for much and the whole thing is there to make you feel like something important is happening. So when I tell you I built one, for a product I co-founded called Cite-met, and shipped it behind the login as a feature called Global View, you're right to be a little suspicious.
I was suspicious of myself while I built it. This is the piece where I try to earn it back.
The short version of the argument is that the globe is the least decorative part of the product, because the thing it draws is a kind of traffic almost nobody is measuring yet, and watching it happen is the only way I've found to make people believe it's there at all.
Let me show you the thing before I defend it.
What's actually on the screen#
Cite-met's Global View, running on a demo tenant: every human, search, and AI-answer-engine hit lands on the globe as it happens, with the top AI crawlers reading each page listed on the right.
That's a demo tenant, acme-marketing.cite-met.dev, running the view we call Global View on the marketing site and Presentation mode inside the app. (The internal codename in our design docs is the "Orbit HUD," which I like more than either of the shipped names.) It's a full-screen, no-chrome dashboard meant to be left running on a second monitor, or the TV in the corner of the office.
A globe sits in the middle on a starfield, and every hit your site takes lands on it as a ping of light where it came from, colored by what it was: blue for a human, teal for a search crawler, orange for an AI answer engine. The tall beams are the busiest cities. The counters down the left are your four traffic streams. The board on the right is the AI crawlers reading you most this week, GPTBot and ChatGPT-User and ClaudeBot and Perplexity, numbers ticking. Along the bottom, a feed scrolls the last few hits as they land, one line at a time, "San Francisco, /docs/api, Perplexity."
It's a demo, so the traffic on it is sample data. What isn't sample is the machinery drawing it, and that's the part I want to convince you of, because if you've ever assumed the dots on a globe like this were decoration, you've usually been right.
The channel nobody's measuring#
Cite-met exists to solve a specific problem. When someone asks ChatGPT or Claude or Perplexity a question and the answer cites a page, something had to go read that page first, either earlier when it was crawled or, more and more, live in the second the question was asked. That read is an event. It happens on your server, against a live URL, and it's the leading edge of how people are starting to find things, because a growing share of your future customers are going to meet you inside an AI answer instead of a list of blue links.
Being citable is turning into what being rankable used to be.
And your analytics can't see it. Google Analytics was built to count humans and throw bots away, and most privacy-first counters do the same, for the sensible reason that bot traffic is mostly noise. The catch is that the AI crawlers are hiding inside that noise, and they're the one kind of bot you'd want to watch, so the fastest-growing discovery channel on the internet shows up on the average dashboard as nothing at all.
What Cite-met does is sort every request at the edge before anything gets thrown away, into four streams: human, SEO, AEO, and bot. AEO is the answer-engine traffic, the AI crawlers that read your pages to answer somebody's question somewhere else, and we split it by engine so you can see OpenAI's crawlers apart from Anthropic's and Perplexity's. The detail I'm proud of is that we don't guess at it. There's a generic "AI" tag floating around the open bot registries that's right about 57% of the time, which is worse than useless for a number you're going to make decisions against, so we never derive AEO from it.
Every crawler in that stream is there because it's on a list we keep by hand, agent by agent, each with a plain note next to it. ChatGPT-User, for one, is labeled "fetches your page live when someone asks ChatGPT about it," which is exactly the event worth caring about. If you want the longer story on why AI engines skip most sites, I wrote that up over here, and the llms.txt piece covers one of the files that helps them read you in the first place.
So the AEO number is honest. An honest number nobody looks at, though, doesn't change anything, which is where the globe comes back in.
Why a globe, and not a bar chart#
I could have shipped this as a line on a chart. AEO traffic, up 40% this week, sitting next to Human and SEO. Correct, complete, and I'd bet almost nobody would have felt it.
What I kept hitting, showing early Cite-met to founders, was that people would nod at the AEO chart and not believe it in their gut. It was a number on a screen, the same shape as every other number on every other screen, and it slid right off them. Then I'd switch to the globe, with a beam standing up over London and a line scrolling past that said Perplexity had just read their pricing page, and the room changed. You could watch it land on someone. The abstract idea that AI systems are out there reading your site turned into a specific thing happening in front of them, in a city they could point at, and the chart two tabs over suddenly meant something it hadn't a minute earlier.
That's the reason the view exists, and I'll say plainly that it's a persuasion instrument as much as an analytics one. The marketing line is that you can put your traffic on the office TV and watch ChatGPT and Claude and Perplexity find your pages as it happens, and that isn't a stretch, it's the actual use case. A board that runs all day is how a team starts to believe a channel is there, and that belief is upstream of anyone bothering to optimize for it. A fact that's supposed to change what you do has to be felt before it gets acted on, and a globe you leave running does something to people that a spreadsheet never manages.
The boring machinery under the pretty part#
Here's the part I enjoyed most, which is admitting that the globe is held together by some pretty unglamorous pieces.
There's no WebGL, no three.js, no globe library, and no map vendor anywhere in it. It's a plain HTML canvas, redrawn frame by frame, with d3-geo doing the orthographic projection and a topology file we fetch at runtime and cache rather than shipping in the bundle. We went with canvas over SVG for the dull reason that a spinning globe repaints every frame, and a few thousand SVG country paths repainted sixty times a second turns a laptop into a space heater.
The cities light up where they do because Cloudflare hands us a rough latitude and longitude at the edge for every request, so we never store an IP or run a lookup, and the precision stops at the city on purpose. When hits start arriving fast the starfield behind the globe speeds up into a faint warp, which does nothing useful and which I won't let anyone take out.
One caveat I'd rather say myself: at high volume the analytics layer samples its rows, so the individual pings are a representative sample of recent traffic rather than every last hit. That's the right trade for an ambient visual, and the exact totals still come from the aggregate counters underneath. I'd sooner tell you that than let you believe every mote of light is a guaranteed one-for-one.
The globe was never the moat#
I've argued before that the app was never the moat, and this feature is a fair test of whether I meant it, because the globe is the most forkable thing in the whole product. You could clone the look of it in an afternoon with an off-the-shelf library, and it would spin, and the dots would glow, and it would be a toy, because the sphere was never the hard part.
What's hard is the pipeline that sorts every hit correctly at the edge, the crawler list we maintain by hand to keep the AEO number worth trusting, and the call to treat AI traffic as a first-class thing back when it didn't have a name and most people were still filtering it into the garbage. Cite-met crossed a thousand dollars a month in its first four months on the strength of that call, not the animation.
The globe is just the part that makes you look, so if you want to find out whether AI is already reading your own site, the scan on cite-met.com is free, and it'll show you which engines are turning up before you ever put anything on a TV.
Operator notes, monthly.
Working notes on agentic marketing, Claude Code skills, and the operating models behind four ventures. It ships when there is something worth reading.