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 16 websites on one box right now

baybay.baby 1,514 kestrel.host 1,368 daylight.ad 1,102 claim.town 960 brandmybillboard.com 836 samebooks.club 507 outsnake.lol 489 freelist.lol 478 scorch.world 442 plainsun.com 432 webdev.games 420 rook.town 379 notch.town 365 turf.place 359 rawcode.ing 204 leamas.ai 141
kestrel.host Thu 17 Sep 10:43:24 MDT Last 7 days

baybay.baby

2 active ▼ −33%
1,031 People 116 AI 367 Crawlers
200 820 100 410 0 11 Sep: 796 requests from 144 people, 16 AI, 63 crawlers 12 Sep: 388 requests from 133 people, 9 AI, 73 crawlers 13 Sep: 634 requests from 160 people, 23 AI, 63 crawlers 14 Sep: 543 requests from 148 people, 31 AI, 70 crawlers 15 Sep: 696 requests from 164 people, 16 AI, 34 crawlers 16 Sep: 814 requests from 197 people, 15 AI, 49 crawlers 17 Sep: 483 requests from 85 people, 6 AI, 15 crawlers 11 Sep 13 Sep 15 Sep 17 Sep
All Unique AI

kestrel.host

5 active ▼ −66%
728 People 53 AI 587 Crawlers
170 660 85 330 0 11 Sep: 658 requests from 167 people, 6 AI, 83 crawlers 12 Sep: 345 requests from 143 people, 6 AI, 57 crawlers 13 Sep: 377 requests from 122 people, 20 AI, 61 crawlers 14 Sep: 229 requests from 103 people, 4 AI, 82 crawlers 15 Sep: 400 requests from 80 people, 7 AI, 113 crawlers 16 Sep: 222 requests from 79 people, 6 AI, 157 crawlers 17 Sep: 53 requests from 34 people, 4 AI, 34 crawlers 11 Sep 13 Sep 15 Sep 17 Sep
All Unique AI

daylight.ad

2 active ▲ +198%
529 People 6 AI 567 Crawlers
130 13k 65 6.5k 0 11 Sep: 12,749 requests from 127 people, 0 AI, 33 crawlers 12 Sep: 545 requests from 89 people, 1 AI, 42 crawlers 13 Sep: 592 requests from 97 people, 1 AI, 75 crawlers 14 Sep: 225 requests from 51 people, 1 AI, 97 crawlers 15 Sep: 300 requests from 57 people, 1 AI, 172 crawlers 16 Sep: 223 requests from 79 people, 1 AI, 139 crawlers 17 Sep: 59 requests from 29 people, 1 AI, 9 crawlers 11 Sep 13 Sep 15 Sep 17 Sep
All Unique AI

claim.town

1 active ▼ −21%
528 People 112 AI 320 Crawlers
120 22k 60 11k 0 11 Sep: 9,846 requests from 74 people, 11 AI, 44 crawlers 12 Sep: 9,724 requests from 112 people, 16 AI, 49 crawlers 13 Sep: 9,563 requests from 67 people, 41 AI, 68 crawlers 14 Sep: 305 requests from 103 people, 7 AI, 42 crawlers 15 Sep: 7,761 requests from 79 people, 16 AI, 49 crawlers 16 Sep: 21,627 requests from 67 people, 10 AI, 48 crawlers 17 Sep: 3,939 requests from 26 people, 11 AI, 20 crawlers 11 Sep 13 Sep 15 Sep 17 Sep
All Unique AI

brandmybillboard.com

0 active ▼ −20%
607 People 108 AI 121 Crawlers
120 920 60 460 0 11 Sep: 486 requests from 100 people, 30 AI, 34 crawlers 12 Sep: 433 requests from 117 people, 21 AI, 18 crawlers 13 Sep: 260 requests from 94 people, 7 AI, 15 crawlers 14 Sep: 523 requests from 82 people, 4 AI, 17 crawlers 15 Sep: 601 requests from 90 people, 35 AI, 13 crawlers 16 Sep: 912 requests from 96 people, 5 AI, 15 crawlers 17 Sep: 398 requests from 28 people, 6 AI, 9 crawlers 11 Sep 13 Sep 15 Sep 17 Sep
All Unique AI

samebooks.club

0 active ▼ −29%
270 People 34 AI 203 Crawlers
55 820 28 410 0 11 Sep: 625 requests from 44 people, 4 AI, 33 crawlers 12 Sep: 475 requests from 35 people, 5 AI, 42 crawlers 13 Sep: 462 requests from 55 people, 2 AI, 25 crawlers 14 Sep: 818 requests from 46 people, 2 AI, 24 crawlers 15 Sep: 709 requests from 32 people, 12 AI, 28 crawlers 16 Sep: 149 requests from 47 people, 6 AI, 38 crawlers 17 Sep: 16 requests from 11 people, 3 AI, 13 crawlers 11 Sep 13 Sep 15 Sep 17 Sep
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 5 online, 1,368 visitors in 7 days5online·1,368visitors in 7 days·see stats5 online, 1,368 visitors in 7 days5online·1,368visitors in 7 days·see stats
Bar 5 online, 1,368 visitors in 7 days5online·1,368visitors in 7 days·see stats5 online, 1,368 visitors in 7 days5online·1,368visitors in 7 days·see stats
Counter 1,368 visitors in 7 daysVISITORS0013681,368 visitors in 7 daysVISITORS001368
<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
1,311 In the answer index Crawling to build the index an assistant answers out of
2,498 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.