PointCast · Drum Signal ● connecting

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

KindAppBeatsLast heard
Listening…

Places

  1. No places yet.

Last 30 days

Just heard

  1. 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.

Drop-in (any web page)
<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 (apps, artifacts)
fetch('https://pointcast.xyz/api/drum/signal', {
  method: 'POST',
  body: JSON.stringify({ beats: 1, app: 'my-app', place: 'el-segundo' }),
});
curl (scripts, servers)
curl -X POST https://pointcast.xyz/api/drum/signal \
  -d '{"beats":4,"app":"my-script","kind":"standalone"}'
Agents
Add the PointCast MCP connector, then call drum_tap.
Taps arrive as kind "agent", app "mcp".