Inspiration

Twitch's engagement economy - predictions, channel points, betting beats is locked behind Affiliate status, which new streamers can't reach for weeks. Meanwhile the raw attention in the room (every spammed emote, every lurking minute) is never treated as an asset, and a moderator can't narrate its ups and downs while the game is on. KEKW Capital asks: what if the attention itself were the market priced by an honest formula, narrated live by an AI desk that is forbidden to set a single price?

What it does

  • Every emote chat spams becomes a tradable ticker blue chips $KEKW, $GG, $FAIL at launch, then anything with !found
  • Prices move on a deterministic formula shown on screen (the market is honest): EMA momentum over 5-second windows, ±25% clamps, 2% maker spread, circuit breakers
  • An AI desk (gpt-4.1-mini) writes a tabloid headline for every move names real traders, types onto the wire character-by-character and is forbidden from setting prices
  • Chatters earn Tendies by watching, trade via !buy/!sell/!balance, keep persistent wallets; PRIME TIME settles streamer stakes as duel tickers with 1.9x payouts
  • Oddity, the CRT ghost desk, commentates the whole show; every stream ends with MARKET CLOSE cards and per-user P&L roasts people share

How we built it

One Codex session, one written spec. Codex implemented the market engine, Twitch IRC integration with full tags, FastAPI + WebSocket overlay, SQLite economy, cards, and a test suite — iterating against failing tests until green. The OpenAI layer is one disciplined call path: gpt-4.1-mini with a strict JSON schema and template fallbacks, so the headline wire can never go blank; tts-1 pre-renders Oddity's voice. Twitch runs on a scoped IRC bot token; the overlay is a plain OBS browser source. All sounds are synthesized in-repo — no licensed audio or footage anywhere. Pricing, shown live on screen:

mom = EMA(tokens/5s, α=0.3) / EMA(tokens/5s, α=0.01)
price_delta = clamp(k1·log(mom) + k2·buy_sell_skew, ±0.25)

Challenges we ran into

  • Keeping a lively market that can't be griefed: rate limits, ±25% per-move clamps, breaker halts, no shorting at t=0
  • The AI must be un-fakeable on stage: named-trade headlines, a live message counter and clock, and typewriter streaming
  • Demo resilience: LIVE → PIT → SHOWCASE → RED-KEY fallback ladder, so the booth demo cannot die

Accomplishments that we're proud of

  • A market that survives its own users. Rate limits, ±25% clamps, breaker halts, and no shorting at t=0 — chat can hype it, but it can't hollow it out. The formula is printed on screen; the AI is forbidden from pricing. That single constraint kept the project honest and turned "AI stock bot" into something defensible.
  • A demo that physically cannot fail. Every AI call has a pre-warmed template fallback; every layer has an escape hatch: LIVE → PIT → SHOWCASE → RED-KEY. The headline wire never goes blank, and the full 3-minute show replays deterministically with zero network.
  • Affiliate-free onboarding. One bot token, one command, one OBS browser source — any Twitch channel works today, including brand-new ones. No camera, no channel points, no gate.
  • A complete build in one Codex thread. Engine, IRC integration, overlay, economy, cards, and a test suite the agent iterated against until green about ~2,000 lines from an empty repo to a running market, with every step checkable in the session log.

What we learned

  • Live AI is 20% model, 80% failure modes. Silent IRC drops, cold-start price explosions, browser-connect races, quota stalls — naming each failure and giving it a fallback was most of the actual product work.
  • Spectacle needs proof, not just flair. Typewriter headlines, a live message counter, and named-trade calls turn "is this pre-animated?" into "I can see it thinking" credibility is a design feature, not a talking point.
  • Deterministic showcases are a hackathon superpower. One JSON timeline powers tests, thumbnails, video B-roll, and booth rehearsals. Everything reproducible, nothing left to luck.
  • Codex disciplined by spec beats Codex left to improvise. Pinned formulas, locked palettes, and a verify-after-every-item loop kept a big one-session build coherent with very few rewrites.

What's next for KEKW Capital

Importing real Twitch predictions into the same UI once a channel reaches Affiliate.

Built With

Share this project:

Updates

Submission history