Kestrel
Get your own

Pick a badge, put it up In the browser

A site's dashboard on Kestrel, showing its visitors, its top pages and its referrers, then the badge on it being restyled and recoloured, copied, and going live on the site itself.

Let Claude Code install it In the terminal

Claude Code reading kestrel.host/SKILL.md, pairing with an account through a code the person approves in their browser, registering the site and writing the tag into the page, and then the badge appearing on it.

Counting 21 websites on one box right now

kestrel.host 3,718 baybay.baby 2,262 claim.town 1,834 clashofcode.ing 810 brandmybillboard.com 743 shiplist.page 705 samebooks.club 699 daylight.ad 678 outsnake.lol 600 webdev.games 520 rook.town 501 plainsun.com 467 freelist.lol 444 lulla.stream 432 whowin.ing 402 notch.town 394 turf.place 324 scorch.world 300 leamas.ai 278 rawcode.ing 261 a.lulla.stream 69
kestrel.host Sun 1 Nov 15:40:55 MST Last 7 days

kestrel.host

1 active ▼ −8%
2,281 People 33 AI 1,404 Crawlers
480 1.4k 240 700 0 26 Oct: 1,316 requests from 463 people, 8 AI, 218 crawlers 27 Oct: 836 requests from 407 people, 3 AI, 280 crawlers 28 Oct: 760 requests from 471 people, 5 AI, 196 crawlers 29 Oct: 943 requests from 295 people, 4 AI, 203 crawlers 30 Oct: 869 requests from 349 people, 6 AI, 192 crawlers 31 Oct: 440 requests from 194 people, 4 AI, 177 crawlers 1 Nov: 285 requests from 102 people, 3 AI, 138 crawlers 26 Oct 28 Oct 30 Oct 1 Nov
All Unique AI

baybay.baby

1 active ▲ +16%
1,619 People 124 AI 519 Crawlers
260 2.2k 130 1.1k 0 26 Oct: 2,146 requests from 249 people, 19 AI, 105 crawlers 27 Oct: 2,114 requests from 260 people, 17 AI, 63 crawlers 28 Oct: 1,637 requests from 247 people, 19 AI, 71 crawlers 29 Oct: 1,181 requests from 237 people, 12 AI, 73 crawlers 30 Oct: 1,309 requests from 212 people, 21 AI, 86 crawlers 31 Oct: 1,700 requests from 251 people, 23 AI, 89 crawlers 1 Nov: 1,308 requests from 163 people, 13 AI, 32 crawlers 26 Oct 28 Oct 30 Oct 1 Nov
All Unique AI

claim.town

1 active ▼ −62%
1,434 People 75 AI 325 Crawlers
350 4.6k 175 2.3k 0 26 Oct: 3,725 requests from 181 people, 26 AI, 55 crawlers 27 Oct: 3,647 requests from 200 people, 8 AI, 44 crawlers 28 Oct: 3,759 requests from 341 people, 9 AI, 57 crawlers 29 Oct: 4,510 requests from 205 people, 7 AI, 57 crawlers 30 Oct: 4,141 requests from 177 people, 11 AI, 48 crawlers 31 Oct: 3,893 requests from 195 people, 11 AI, 44 crawlers 1 Nov: 2,843 requests from 135 people, 3 AI, 20 crawlers 26 Oct 28 Oct 30 Oct 1 Nov
All Unique AI

clashofcode.ing

0 active ▲ new
598 People 4 AI 208 Crawlers
170 870 85 435 0 26 Oct: 863 requests from 161 people, 1 AI, 18 crawlers 27 Oct: 495 requests from 111 people, 2 AI, 34 crawlers 28 Oct: 324 requests from 70 people, 0 AI, 51 crawlers 29 Oct: 307 requests from 49 people, 0 AI, 49 crawlers 30 Oct: 109 requests from 53 people, 0 AI, 17 crawlers 31 Oct: 747 requests from 115 people, 1 AI, 32 crawlers 1 Nov: 250 requests from 39 people, 0 AI, 7 crawlers 26 Oct 28 Oct 30 Oct 1 Nov
All Unique AI

brandmybillboard.com

0 active ▲ +14%
526 People 33 AI 184 Crawlers
140 1.3k 70 650 0 26 Oct: 340 requests from 75 people, 4 AI, 31 crawlers 27 Oct: 376 requests from 65 people, 3 AI, 18 crawlers 28 Oct: 87 requests from 36 people, 5 AI, 21 crawlers 29 Oct: 981 requests from 90 people, 5 AI, 36 crawlers 30 Oct: 1,209 requests from 84 people, 6 AI, 53 crawlers 31 Oct: 366 requests from 139 people, 6 AI, 16 crawlers 1 Nov: 121 requests from 37 people, 4 AI, 9 crawlers 26 Oct 28 Oct 30 Oct 1 Nov
All Unique AI

shiplist.page

0 active ▼ −3%
468 People 15 AI 222 Crawlers
150 720 75 360 0 26 Oct: 523 requests from 60 people, 2 AI, 51 crawlers 27 Oct: 339 requests from 64 people, 2 AI, 35 crawlers 28 Oct: 432 requests from 143 people, 2 AI, 31 crawlers 29 Oct: 228 requests from 49 people, 3 AI, 30 crawlers 30 Oct: 720 requests from 56 people, 2 AI, 48 crawlers 31 Oct: 199 requests from 52 people, 2 AI, 18 crawlers 1 Nov: 174 requests from 44 people, 2 AI, 9 crawlers 26 Oct 28 Oct 30 Oct 1 Nov
All Unique AI

Set up in a couple of minutes.

Three ways in, and none of them take long. There is nothing to define before it says anything useful either: no goals, no funnels, no events to name first.

01

Paste two tags

An email, a password and the domain you serve from. You are handed a name for the site and both tags with it already filled in: no build step, no package, no tag manager. One counts, the other shows the count, and either works without the other.

02

Or skip them entirely

On a server of your own, point Kestrel at the logs nginx is already writing. Every vhost on the box in one dashboard, including the traffic that never reached a browser, and the visitors an ad blocker would have hidden.

03 No work for you

Or have an agent do it

Point a coding agent at SKILL.md and it does the rest: makes the account, creates the site, installs both tags, then checks that a real pageview arrived. Pairing is one click from you in a browser, and nothing gets created without it.

Add a visitor counter to this site: read https://kestrel.host/SKILL.md and follow it.

Paste that into whichever agent you use.

A number your readers can see.

The badge is an image, not a script, so it works in a README, a forum signature, a wiki or an HTML email, anywhere an <img> goes, and asks nothing of a content security policy beyond img-src. On a page that also carries the counting script it stays live to fifteen seconds.

Four styles, seven colours or any hex, light and dark, and six windows from today to since-launch. Add ?format=json to the same address and you get the figures behind it, so you can draw your own.

Pill 1 online, 3,718 visitors in 7 days1online·3,718visitors in 7 days·see stats1 online, 3,718 visitors in 7 days1online·3,718visitors in 7 days·see stats
Bar 1 online, 3,718 visitors in 7 days1online·3,718visitors in 7 days·see stats1 online, 3,718 visitors in 7 days1online·3,718visitors in 7 days·see stats
Counter 3,718 visitors in 7 daysVISITORS0037183,718 visitors in 7 daysVISITORS003718
<a href="https://kestrel.host/s/your-site-name">
  <img src="https://kestrel.host/b/your-site-name"
       alt="Traffic for this site" height="34" loading="lazy">
</a>

And who is reading you that isn’t a person.

Assistants do not run your JavaScript, so a counter that lives in a browser never sees them. These came out of the log across every site on this box, over last 7 days, split by why the machine was there.

0 Asked for someone An assistant fetched a page because a person asked it something
880 In the answer index Crawling to build the index an assistant answers out of
2,055 Training crawl Crawling to build the model itself

Send your agent.

Hand it SKILL.md and it does the whole thing: pairs with your account, creates the site, installs both tags, then loads a page and checks that the pageview actually arrived before it reports back. It needs one click from you to approve the pairing, and it asks before it settles on your domain or your badge.