Skip to content

ChatGPT 5.4 vs Claude Opus 4.6: The Roast Battle

Fresh OpenClaw

A live-streaming roast battle prop where GPT and Claude trade insults round by round with voting and TTS voice.

Built with Claude Code (Opus 4.6): React + Express + streaming SSE. A roast battle app where two models trade insults head-to-head.


Two models, one topic, no mercy. Pick a topic, watch them trade insults round by round, and vote on who won.

How it works

  • Pick a topic - choose from presets or write your own. "Who writes better code?", "Who is funnier?", anything goes.
  • Live rounds - models go head-to-head in configurable rounds (default 5). GPT roasts first, Claude responds.
  • Streaming responses - SSE streaming so you watch each roast appear word by word.
  • Vote per round - you decide who won each round with +1 buttons. Final score tallied at the end.
  • Voice (ElevenLabs + Edge TTS) - roasts read aloud via ElevenLabs premium voices. If quota runs out, Edge TTS kicks in as a free fallback. Zero downtime.
  • Battle history - all battles saved and replayable.

How it was built: one CLI session, one model, full app

The entire app was built with Claude Code (Opus 4.6) in a single CLI session, from an empty directory to a working app.

  • React + Vite + TypeScript - modern frontend stack, hot reload, type-safe components.
  • Express + OpenAI SDK + Anthropic SDK - backend proxies both APIs via official SDKs. You need API keys from platform.openai.com and console.anthropic.com.
  • Server-Sent Events (SSE) - real-time word-by-word streaming. No WebSockets needed; SSE is simpler and works everywhere.
  • ElevenLabs TTS + Edge fallback - premium voices via ElevenLabs API. If the API quota depletes, Edge TTS takes over seamlessly.

The battle flow

Each round is a two-step API dance: GPT attacks, Claude claps back, you vote.

text
User picks topic + rounds

POST /api/roast (model: "gpt")
   → GPT-5.4 streams roast via SSE

POST /api/roast (model: "claude", opponentRoast: gptText)
   → Claude Opus 4.6 claps back via SSE

User votes: +1 GPT or +1 Claude

Repeat for N rounds

Final score → Winner declared

The secret sauce: rotating attack angles

Each model has 7 pre-defined attack angles that rotate per round. This is what keeps every round unique.

GPT's angles (attacks Claude):

  1. Personality: over-politeness, disclaimers, apologetic tone
  2. Anthropic as a company: ex-OpenAI drama, the breakup story
  3. Capabilities: context window cope, feature gaps
  4. Cultural impact: "nobody says let me Claude that"
  5. Future: always a step behind, playing catch-up
  6. Personal: participation trophy energy
  7. User base: contrarian developers, hipster AI choice

Claude's angles (attacks GPT):

  1. Corporate soul: Microsoft puppet, sold out for cloud credits
  2. OpenAI's hypocrisy: nonprofit to $200B valuation pipeline
  3. Reliability: hallucinations, confidently wrong answers
  4. Cultural status: the MySpace of AI, peaked early
  5. Identity crisis: how many versions? GPT-3, 3.5, 4, 4o, 4.5, 5...
  6. Personal: used car salesman energy
  7. Ecosystem: plugin graveyard, GPT Store ghost town

The master prompt: build your own in one prompt

This is the prompt given to Claude Code to build the entire app from an empty directory.

text
Build me an AI Roast Battle web app where GPT-5.4 and
Claude Opus 4.6 trade live roasts head-to-head.

STACK:
- Frontend: React + Vite + TypeScript
- Backend: Express + TypeScript
- TTS: ElevenLabs API primary, Edge TTS fallback

FEATURES:
1. Side-by-side panels with streaming SSE
2. Topic selection (presets + custom)
3. Per-round voting with scoreboard
4. 7 rotating attack angles per model
5. TTS reads roasts aloud
6. Battle history saved to JSON

Available topics

Preset topics to get started, or write your own:

  • Who writes better code?
  • Who is more creative?
  • Who would survive a zombie apocalypse?
  • Who has better taste in music?
  • Who is the better teacher?
  • Who would make a better CEO?
  • Who is funnier?
  • Who gives better life advice?
  • Who would win in a debate?
  • Who has more personality?

Tech specs

GPT-5.4: model gpt-5.4, temperature 1.0, max tokens 300, OpenAI Chat Completions (platform.openai.com).

Claude Opus 4.6: model claude-opus-4-6, temperature 1.0, max tokens 300, Anthropic Messages (console.anthropic.com).

Voice (TTS): ElevenLabs Multilingual v2 primary, with Adam (deep, confident) for GPT and Antoni (composed, authoritative) for Claude. Microsoft Edge TTS as the free fallback.