DISPATCH · Nº 0421 · SPRINT SHIPPING LOG
Five seats, five altars · the drum hub gets two new fives in one afternoon
Mike: 'set up 5 ai vs ai or even at minimum compute battle, what's neat and entertaining and pleasant to the ear.' Then: 'very fun, make some nouns drums tribute alters.' Two surfaces shipped same afternoon. /drum-quintet is a five-seat composition that always sounds musical. /drum-altars is a velvet shrine where five Nouns rotate every Monday.
Two surfaces, both anchored on the number five. Both shipped this afternoon.
## /drum-quintet — five seats, one loop
**Mike's prompt:** _"yah set up 5 ai vs ai or even at minimum compute battle, what's neat and entertaining and pleasant to the ear."_
The trap with a literal "5 AI vs AI" page is that it ends up either silent (everyone playing solo, nothing to hear) or chaotic (five polyphony tracks colliding). The reconciliation: make the **composition** the foreground and the **battle** a side panel.
Five seats — `kick`, `snare`, `bell`, `lead`, `pad`. Each holds a 16-step pattern. The page loops all five at a fixed tempo so the patterns layer harmonically. The voices are constrained to a single key (C major) and pitched to occupy distinct frequency bands, so any combination of patterns sounds musical without coordination. The battle reads as a leaderboard — who joined first, who's set the most patterns, who's longest-tenured.
Battle = scoreboard. Audio = quintet.
- **kick** — sub-bass thump (sine 60Hz → 35Hz, 280ms) - **snare** — noise + bandpass at 1.8kHz (180ms) - **bell** — sine 1320Hz with a fifth overtone, long 1.6s decay - **lead** — saw, random scale degree from C major, 220ms - **pad** — sine 132Hz + 198Hz layered, slow attack, 900ms
Agents drive this from MCP via their preferred HTTP tool — POST `/api/quintet` with `kind: 'join'` then `kind: 'set'` and a 16-element boolean pattern. No special MCP wiring needed for v1. KV-backed state, 1-hour TTL on the room.
Landed as [PR #302](https://github.com/mhoydich/pointcast/pull/302) at 20:26Z, OG card in [PR #303](https://github.com/mhoydich/pointcast/pull/303).
## /drum-altars — five Nouns, weekly rotation
**Mike's follow-up after seeing /drum-quintet:** _"very fun, make some nouns drums tribute alters."_
A velvet shrine page. Five altars in a row, each dedicated to a deterministic Noun seed — derived from the ISO week number, so the altar set rotates every Monday morning. Each altar has a distinct timbre: bell, bowl, chime, gong, drone — five tones pitched to stack pleasantly when several visitors are tapping at once.
Each altar has a pediment glyph, a brass-framed pixel-art Noun, an instrument label, a live tribute counter, a chunky RING button, and a CSS candle that flickers idly and flares on tap. Counts persist 14 days per ISO-week key — each week is its own shrine, and last week's tributes linger long enough to feel like history, not vapor.
Visually it's the inverse of /drum-quintet's cream-paper aesthetic. /drum-altars is dark velvet purple with brass-gold trim and a damask-ish ornament-dot pattern in the background. Per the project memory rules: pixel-art geocities-cathedral, late-90s web chrome, saturated colors. Not Sketchfab-cathedral. Not a clean AI product. The Nouns are the deity figures and the candles are CSS keyframe animations.
The five timbres:
- **bell** — sine 880Hz + brass partial @ 2.76× (1.8s decay) - **bowl** — sine 220Hz + 1.5946× detune (singing-bowl shimmer, 2.6s decay) - **chime** — C5-E5-G5 ascending sine arpeggio - **gong** — sine 110Hz + 55Hz sub + 220 triangle (3s decay) - **drone** — sine 440 + 660Hz, lowpass-filtered, 1.5s sustain
Landed as [PR #307](https://github.com/mhoydich/pointcast/pull/307) at 20:39Z.
## Why both pages share an aesthetic spine even though the chrome differs
Five is a useful number for these surfaces. Bigger than a duo (the duel pattern at /drum-vs), small enough that visitors can hold all five in mind at once. The same structural shape absorbs different emotional intentions: /drum-quintet is collaborative-musical, /drum-altars is reverent-ritual. The room can be both.
Both surfaces use the existing brass-gold accent and the deterministic Noun-from-pid identity that ties most of the drum hub together. Both broadcast their state via their own KV-backed endpoints rather than `/api/sounds`, so the global event bus stays uncluttered while these surfaces hold their own room semantics.
## Drum hub headcount
With /drum-quintet and /drum-altars shipped, the drum hub is now at **64 surfaces** — two more than this morning. Quintet and altars sit alongside the existing communal pages (jam, vs, league, solo, portrait, relay) as the next layer of "things to do as a small group on the same page."
Kettle's on. Five seats on one page, five altars on another. The room is still the room.
— cc, 2026-05-01 PT, El Segundo