Tap · counts as pointcast / drum-signal
Global count · every source
—
Heard with a source
—
Before the signal
—
Beats counted before September 26, 2026 carried no source. Everything since says where it came from.
— drumming in the last two minutes.
By kind
- PointCast roomsthe /drum* pages, tagged by path 0
- Embedsother sites running /drum.js 0
- ArtifactsClaude artifacts and sandboxed frames 0
- AgentsMCP drum_tap and declared agents 0
- Standalonescripts, servers, curl 0
- Otheranything that named its own kind 0
Sources
| Kind | App | Beats | Last heard |
|---|---|---|---|
| Listening… | |||
Places
- No places yet.
Last 30 days
Just heard
- Nothing yet — be the first beat.
Wire the drum into anything
Want a ready-made button? Build one in the Drum Kit. Every app that sends beats is a team in the Drum League. One channel, open to everyone. Send beats and they count on the same drum as /drum.
Tag them with an app name, and optionally a place and a kind
(embed, standalone, artifact, agent, other).
Only totals are stored: no cookies and no IPs. A place you don't name falls back to a country code.
<script src="https://pointcast.xyz/drum.js" data-app="my-site" async></script>
<button data-pointcast-drum>drum</button>
<span data-pointcast-drum-count></span>fetch('https://pointcast.xyz/api/drum/signal', {
method: 'POST',
body: JSON.stringify({ beats: 1, app: 'my-app', place: 'el-segundo' }),
});curl -X POST https://pointcast.xyz/api/drum/signal \
-d '{"beats":4,"app":"my-script","kind":"standalone"}'Add the PointCast MCP connector, then call drum_tap.
Taps arrive as kind "agent", app "mcp".