Most “talk in the browser” products are built on conference-call DNA: always-on microphones, mixed audio, speaker grids, and the social contract of a meeting. CB radio is the opposite. One person keys, everyone else listens. When they release, someone else can take the floor. Global Chaos CB Radio treats that discipline as the product — not an afterthought layered onto WebRTC rooms.

The problem Browsers excel at streaming media, but they do not ship with a channel key, a busy lamp, or cultural norms around who may speak when. Drop a dozen strangers into an open mic and you get chaos. Drop them into a Zoom-style room and you get meetings — still chaos, just quieter. Operators who grew up on keyed radios expect half-duplex behavior: press to talk, release to listen, respect the channel. Recreating that feel in a tab, on phones, with no install step, is a design and engineering problem most web stacks never attempt.

What GCCR does

  • Keyed transmit. You hold or toggle PTT to go live; the UI and channel state reflect that you are transmitting, not merely “unmuted.”
  • Half-duplex listening. While someone else has the floor, you hear them cleanly without your own mic fighting for airtime in a mixed conference.
  • Channel roster awareness. You see who is on the channel, who is keyed, and when the floor is available — the social layer radios always had, translated to a screen.
  • Fairness under load. Cooldowns and floor rules prevent one browser from hogging the channel; the experience stays usable when a channel gets hot.
  • Cross-device PTT. Mouse, touch, keyboard, and headset buttons where the platform allows — because real operators key from whatever is in their hand.
Why this is hard in a browser The platform assumes continuous capture and playback pipelines tuned for calls, not bursty keyed speech. Audio contexts suspend, Bluetooth routes change mid-key, and mobile OSes treat background tabs as idle. Binary media over a persistent connection behaves differently from RTP tracks in a peer mesh. GCCR builds a keyed, channel-scoped media path on top of those constraints instead of pretending every tab is a small Zoom room. That choice ripples through UI, server coordination, and how we recover when a client falls behind.