NATS Jam

every note you play is a NATS message round-tripping through a Raspberry Pi

connecting… RTT β€” ms

play with your mouse, or keys A–' (white) and WE TYU… (black) Β· Z/X shift octave

πŸ€– The Band queue group

every note is claimed by exactly one bot from the band queue group

βͺ Time Machine JetStream

the PIANO stream has been recording since you opened this page β€” no record button needed

πŸš’ Firehose throughput

watch the stats panel β€” the broker is a Raspberry Pi and it will not care

🎬 The Acts β€” a guided tour of NATS

  1. Fan-out pub/sub. Everyone opens this page. Any note anyone plays is published to piano.note.<midi> and every subscriber hears it. No polling, no fan-out code β€” that's just what subjects do.
  2. Queue groups. Slide the band up. The bots all subscribe to the same subject in the band queue group, so each note is claimed by exactly one bot, which answers musically. That's load balancing with zero infrastructure.
  3. Chaos. Hit πŸ’€ mid-song. A bot dies; the queue group rebalances instantly; the music never stops. That's failover you didn't have to build.
  4. Time machine. A JetStream stream has been recording every note since the page loaded. Replay the last 2 minutes at 8Γ— β€” persistence and replay-from-any-point, one consumer away.
  5. Firehose. Blast 5,000 msg/s through the same broker while you keep playing. Watch the stats panel. It's a Raspberry Pi.

everything in the right panel travels over NATS too β€” stats on jam.stats, narration on jam.events, roster on jam.bots.roster. this page holds one WebSocket to the broker and nothing else.