Conference Talk Submission — 2026

Three Models Enter,
One Message Wins

A live AI Creative Shootout — synthetic focus groups debate your fundraising copy in real time.

C
G

The Pitch

Title

Three Models Enter, One Message Wins: A Live AI Creative Shootout

Abstract

What happens when you pit three frontier LLMs against each other in a structured adversarial review of persuasive copy — and stream the entire debate to a live audience?

In this session, I'll run a live Synthetic Focus Group on stage using a multi-model orchestration architecture built on streaming SSE. Three AI models (Claude, GPT-4o, Gemini) each embody a distinct audience archetype — the Patriot, the Skeptic, and the Urgency Donor — and engage in structured adversarial prompting to critique real copy in real time. You'll watch them argue, nitpick, and champion different messages while the audience votes on who's winning.

While the demo uses political fundraising, the methodology generalizes to any persuasive copy: SaaS landing pages, ad creative, investor pitch decks, nonprofit appeals — anywhere you need to stress-test messaging before it ships.

But it gets wilder. With one click, the debate transforms into a FLUX-generated comic strip — a visual takeaway you can screenshot and share with your creative team Monday morning.

We'll share results from production workflows processing 200+ campaigns, where synthetic panels predicted real-world performance with surprising accuracy.

You'll learn:

  • How to build persona-driven AI focus groups that stress-test copy before it ships
  • Why multi-model "debate" architectures surface insights a single prompt never will
  • A repeatable framework for turning AI critique into actionable creative briefs
  • The streaming SSE architecture behind running three models simultaneously into one UI

No slides-only theory. No vaporware. Just a working prototype, live archetypes, and a production-tested methodology for AI-assisted creative development.

Speaker Bio

Justin Hart is a political strategist, data architect, and AI practitioner who has spent 20+ years at the intersection of persuasion and technology. As author of the bestselling book Gone Viral and a veteran of multiple presidential campaigns, he understands what makes people act — and how to test that at scale.

Justin currently runs AI-augmented fundraising and analytics systems for political organizations, using multi-model architectures to generate, test, and optimize donor communications. He builds with Claude, GPT, Gemini, FLUX, and whatever ships next Tuesday.

He lives in San Diego with his family and an unreasonable number of API keys.

Demo Spec

Architecture Overview

┌─────────────────────────────────────────────────┐ │ NEXT.JS FRONTEND │ │ │ │ ┌──────────┐ ┌──────────┐ ┌──────────┐ │ │ │ PATRIOT │ │ SKEPTIC │ │ URGENCY │ │ │ │ (panel) │ │ (panel) │ │ (panel) │ │ │ └────┬─────┘ └────┬─────┘ └────┬─────┘ │ │ │ │ │ │ │ ┌────▼──────────────▼──────────────▼────┐ │ │ │ MODE SWITCH CONTROLLER │ │ │ │ [A] Chat Battle ←→ [B] Comic │ │ │ └────┬──────────────────────────────┬───┘ │ │ │ │ │ └────────┼──────────────────────────────┼──────────┘ │ │ ┌────▼────┐ ┌────▼────┐ │ STREAM │ │ FLUX │ │ APIS │ │ IMAGE │ │ │ │ GEN │ ├─────────┤ └─────────┘ │ Claude │ │ GPT-4o │ │ Gemini │ └─────────┘

Mode A — Chat Battle

Three-column split-screen. Each column streams from a different model via server-sent events. Each persona has a system prompt defining their donor archetype, communication style, and evaluation criteria.

User pastes fundraising copy → all three models respond simultaneously with emoji-heavy critique → audience sees which archetype loves/hates the copy in real time.

Mode B — Comic Strip Generator

Takes the best exchange from Mode A and converts it into a structured prompt for FLUX (via Replicate or fal.ai). Output: a 3–4 panel comic strip with each donor archetype as a character reacting to the copy.

Switchable Mode Logic

// Simplified state machine
type Mode = 'chat' | 'comic';

const [mode, setMode] = useState<Mode>('chat');
const [chatHistory, setChatHistory] = useState<Exchange[]>([]);

// Mode A: stream 3 models concurrently
async function runChatBattle(copy: string) {
  const streams = await Promise.all([
    streamClaude(PATRIOT_PROMPT, copy),
    streamGPT(SKEPTIC_PROMPT, copy),
    streamGemini(URGENCY_PROMPT, copy),
  ]);
  // Render each stream into its column
}

// Mode B: generate comic from best exchange
async function generateComic() {
  const bestExchange = selectBestExchange(chatHistory);
  const comicPrompt = buildComicPrompt(bestExchange);
  const image = await generateFLUX(comicPrompt);
  // Display comic panel
}

30-Minute Storyboard

00:00 – 02:00

Cold Open: "The Fundraiser's Nightmare"

Anecdote: You wrote the perfect fundraising letter. Your boss loves it. The donor hates it. What if you could have known?

02:00 – 05:00

The Problem with Real Focus Groups

  • Expensive ($8K–$15K per session)
  • Slow (weeks to recruit, schedule, moderate)
  • Biased (groupthink, moderator effects)
  • Not iterative — you get one shot
05:00 – 08:00

Enter the Synthetic Focus Group

Introduce the concept: AI personas with defined psychographics debating your copy. Not a chatbot — a structured adversarial review.

Reveal the three archetypes: Patriot 🇺🇸 · Skeptic 🔍 · Urgency ⏰

08:00 – 15:00 🔴 Live Demo

Demo Moment #1: The Chat Battle

Paste real fundraising copy. Three columns light up. Models stream simultaneously — arguing, praising, tearing apart the copy with emoji and personality.

  • Audience sees real-time disagreement between archetypes
  • Pause to highlight: "See? The Skeptic caught the vague impact claim the Patriot ignored."
  • Try a second piece of copy — show how responses shift
15:00 – 18:00

Why Multi-Model Matters

  • Single-model gives you one perspective; multi-model gives you creative tension
  • Each model has different training biases → different "taste"
  • The disagreements ARE the insights
18:00 – 23:00 🔴 Live Demo

Demo Moment #2: The Comic Strip

Hit the mode switch. Best exchange transforms into a FLUX-generated comic strip. Three characters, speech bubbles, neon style.

  • "This is your Monday morning creative brief."
  • Show the prompt engineering behind the comic generation
  • Audience screenshot moment — the visual artifact
23:00 – 26:00

The Framework: From Debate to Brief

  • Step 1: Define your archetypes (donor personas from your data)
  • Step 2: Run the shootout (paste copy, observe reactions)
  • Step 3: Extract the disagreements (that's where the gold is)
  • Step 4: Rewrite informed by synthetic consensus
26:00 – 28:00

Under the Hood (Speed Round)

Quick architecture walkthrough: Next.js, streaming APIs, FLUX, the 200 lines of code that make it work. Open source link.

28:00 – 30:00

Close: "Three Models Entered…"

Recap the winning message from the demo. Challenge: "Run this on your own copy this week." Drop the repo link. Q&A teaser.

Tech Stack

Frontend

  • Next.js 14 (App Router)
  • React Server Components
  • Tailwind CSS + custom neon theme
  • Framer Motion (streaming animations)

AI Models

  • Anthropic Claude 3.5 Sonnet (Patriot)
  • OpenAI GPT-4o (Skeptic)
  • Google Gemini 1.5 Pro (Urgency)
  • Streaming via SSE / ReadableStream

Image Generation

  • FLUX 1.1 Pro (via Replicate or fal.ai)
  • Structured prompt for comic panels
  • Fallback: DALL-E 3 if FLUX is slow

Infrastructure

  • Vercel (deploy + edge functions)
  • Vercel AI SDK (unified streaming)
  • Environment: API keys per model

Live Demo Tools

  • Pre-loaded fundraising copy samples
  • Hotkey shortcuts for mode switching
  • Fallback: pre-recorded video if WiFi dies

Audience Interaction

  • QR code → live poll (which archetype won?)
  • Optional: audience submits copy to test
  • Comic strip shareable via URL