Chat picks the challenges. You play them live. Every point counts, and the score carries over stream to stream
Start a new round
Chat sends ideas, you pick which go to a vote, and the winners make the lineup
| Round | Score | Result |
|---|---|---|
Oct 22 @ 7:30pm· 7 of 12 Won | 34,250 – 3,500 | |
Oct 20 @ 8:00pm· 6 of 6 Won | 23,500 – 0 | |
Oct 17 @ 6:45pm· 9 of 12 Won | 5,000 – 2,250 | |
Oct 15 @ 9:15pm· 6 of 9 Won | 21,500 – 3,250 | |
Oct 13 @ 3:00pm· 5 of 5 Won | 0 – 3,000 | |
Oct 10 @ 7:00pm· 5 of 5 Won | 2,750 – 0 | |
Oct 8 @ 8:30pm· 8 of 11 Won | 2,000 – 4,500 |
| Rank | Top challengers | Points | Won |
|---|---|---|---|
| 2,140 | 9 / 14 | ||
| 1,890 | 7 / 12 | ||
| 1,655 | 6 / 11 | ||
| 1,420 | 5 / 9 | ||
| 1,275 | 5 / 8 | ||
| 1,110 | 3 / 9 | ||
| 980 | 4 / 7 | ||
| 845 | 2 / 6 | ||
| 720 | 3 / 5 | ||
| 610 | 1 / 5 |
This is your control panel.You and your mods run the challenges and the scoreboard from right here.
One click copies Challenge.Chat into your GitHub and deploys it to your Cloudflare account. It's your Worker, your database and your URL.
Give it a name. Then pick Classic for scores that read like 3–2, or Arcade for big numbers and a bonus for a clean sweep.
Sign in with Twitch once. From then on, !challenge and !vote in chat go straight to your board.
birb_watch: !challenge clear the rail goofy
nova_rx: !vote 2
mossgirl: !vote 2
Pick one of nine themes in your channel's colours. Then copy the overlay link and add it to OBS as a browser source. It updates live while you play.
Open submissions and chat types !challenge with an idea. Ideas land in your panel and pop up on stream. Anything sent while you're closed waits in the inbox.
Every challenge, every call and every point is saved, and every board gets a public page anyone can check. Each stream starts with a score to settle.
Chat gets +100 when a challenge makes the round, and +100 more when you fail it. The Top Challengers board shows who keeps beating you, so you can shout them out.
Each scoreboard keeps its own score, its own challengers and its own theme. Make one per game, one for an event, or one a brand puts a real prize on.
Nine overlay themes in your channel's colours. Arena puts a TV score bug on screen. Cozy Corner puts up a handwritten to-do note.
Plus Broadcast, Arcade Clash, Creator Neon, Esports Command, Fantasy Quest and Dark Relic.
The overlay SDK, skills and docs ship in the repo. Tell Codex your style and it writes the theme: the look, the settings and new elements, all on the live score.
› make me a 90s VHS theme. camcorder REC timer in the corner, tracking glitch every time chat scores
VHS Tape is in Settings → Theme
1import { useState } from 'react';2import {3 extendTheme, registerTheme, useChallenge, useOverlayEvent,4} from '@/overlay/sdk';5import { broadcast } from '@/overlay/themes';6import './vhs.css';7 8/** ● REC and the challenge clock, like a camcorder */9function RecTimer() {10 const { clock } = useChallenge();11 const [glitch, setGlitch] = useState(false);12 // Chat just took a challenge: roll the tracking13 useOverlayEvent('round.call', (e) =>14 setGlitch(e.winner === 'chat'),15 );16 return (17 <span className="rec" data-glitch={glitch || undefined}>18 ● REC {clock?.text}19 </span>20 );21}22 23export const vhs = extendTheme(broadcast, {24 id: 'vhs',25 name: 'VHS Tape',26 settings: {27 tracking: {28 type: 'number', label: 'Tracking',29 default: 40, min: 0, max: 100, unit: '%',30 },31 },32 elements: {33 rec: {34 label: 'Camcorder Timer', region: 'corner',35 on: true, Component: RecTimer,36 },37 },38});39 40registerTheme(vhs);Challenge.Chat is open source and self-hosted. One click deploys it to your own Cloudflare account.
Chat's waiting
Put it on your own Cloudflare account, connect Twitch and paste one link into OBSThen open submissions and find out who's better