A voice-first sparring partner that argues against you in real time, scores you the way a debate judge would, and gets sharper every night.
If you read nothing else, read this. One paragraph on the product, one block on what it isn't.
Debate AI is a voice-first adversarial-argument trainer. You pick a motion, pick a format, and an AI opponent gives a real timed speech against you. You speak back. It interrupts you, takes points of information, and hits the next speech on the clock. When the round ends, the same engine writes you a judge's ballot: where you won, where you lost, what to fix.
The product is voice. The chat box exists for fallback. The moat is that the AI sounds format-correct: an APDA round sounds nothing like a Policy round, a WSDC bench sounds nothing like a Congress speech. That is the part every other AI debate tool has skipped, and the part that matters to the user who actually does this for sport.
An adversarial sparring partner. A round simulator with a clock. A judge that hands you a written RFD. A learning loop that compounds across rounds.
A chatbot. A grammar tool. A writing assistant. A research engine. Not built to agree with you; built to attack.
Five things, ranked by how hard they are to copy. The first one is the moat.
Policy gets tagged-card delivery and evidence rules. LD gets value and criterion. BP gets extensions and whip structure. APDA stays impromptu with no fabricated citations. WSDC gets reply speeches; Congress gets gavel-conscious decorum; MUN gets diplomatic register. Every other AI debate tool speaks generic "Harvard debate society" English. This requires actually knowing the formats, not just wrapping GPT.
Sub-200ms turn-taking. You can interrupt, take points of information, run out of time, get cut off. At the end of the round you get a written ballot with magnitude, probability, and timeframe weighing. That is the moat against ChatGPT: voice plus timer plus format-correct ballot.
Most AI-product founders can say "I used AI to build this." Very few can say "I actually argued in this format at the top of the country." The voice prompts are extracted from real APDA notes, real cross-x patterns, real ballots.
Claude, GPT, Gemini, Grok. Streaming TTS on the paid tier through ElevenLabs, Inworld, and Cartesia, with OpenAI gpt-4o-mini-tts as the per-persona-steered free tier. BYOK lets power users bring their own Anthropic key for a dollar a month.
Every typed AI turn and every voice-round transcript writes to Firestore. The next time a user picks the same motion in the same format, the system pulls the highest-rated past rounds into the prompt as reference exemplars. A nightly Haiku pass distills the top rounds per format into a "patterns that work" block injected on every subsequent generation. The AI on a given motion today is meaningfully different from the AI on that motion last month. (Section 5 explains the architecture.)
The primary user is a competitive debater. The same engine extends to anyone whose job is arguing out loud. The geographic fact is that the product found a market in India before it found one in the US.
High school through college, format-accurate across APDA, BP, Policy, LD, PF, World Schools (WSDC), Asian Parliamentary, Congress, MUN, plus a Quick Clash format for newcomers and a Viva format for oral exams. The 80% Indian skew shifted the product's center of gravity: copy now leads with Asian Parli, WSDC, and BP, which is what the Indian school and college circuits actually run.
68.5% of MAU is India. 8.3% is the US. The remaining 23% is spread across 113 other countries. India is where the product compounds at $0.09 per acquired user; the US is where ARPU multiplies on the $30 team tier. The product runs both at once.
Every distinct surface in the app, what it does, and where it lives. If you only have two minutes, the first three are the ones to know.
gpt-4o-mini-tts with per-persona instructions on Free) and its own argumentative tendencies in the system prompt.claude.mjs, openai-chat.mjs, gemini.mjs, grok.mjs). User can pick the brain or let the app default. Free tier runs the cheaper sibling models; Pro switches to the flagship. BYOK is Anthropic-only, labeled accordingly.voice-debate.html?ext=1&mode=counter in the side panel./learn indexes the format guides and case-prep walkthroughs./india leads with Asian Parli, WSDC, BP and India-coded palette. /us leads with PF, LD, Policy, Worlds, Congress and tournament names (TOC, Glenbrooks, Harvard, Berkeley, Greenhill, Emory). Same engine, different door.?uid=.This is the part most people miss in a one-glance demo. Three layers, all shipped, all running in production as of 2026-05-13.
Every typed AI turn (case, opp_attack, rebuttal, judge, debate-chat, casual, vision, resolution) writes the full prompt-to-output triple to the generations Firestore collection. Voice rounds flush the entire turn-by-turn transcript to /api/log-generation on session end. Signed-in usage only; anon users can't pollute the corpus.
When a user starts a round, the server pulls 1–3 admin-weighted past rounds matching the same motion + format + side and prepends them as REFERENCE ROUNDS to the system prompt. The four AI-brain functions all read this before applying voice guidelines. A 1-hour in-memory cache keeps per-request Firestore reads near zero.
Every night at 04:00 UTC, a scheduled function runs Claude Haiku over the previous 30 days of top-rated generations per format (rating ≥ 4 or saved). It extracts a "patterns that work" block per format and writes it to learning_distillations/{format}. Every subsequent generation reads that doc and appends a LEARNED PATTERNS block to the system prompt.
Final system-prompt order at runtime: [reference rounds] + base system + [learned patterns] + [voice guidelines]. Voice rules come last so they always win conflicts.
"This is the only way an AI debate product compounds. Generic LLMs forget every round. Ours remembers what won."
For technical readers. Skip if you trust that it works. The short version: one repo, Netlify edge, four LLM providers, four TTS providers, Firebase for state.
One large single-file React app (app/debate-ai.html) using React via CDN with a el(tag, props, ...children) alias for React.createElement. No JSX, no build step, intentional. The landing page, voice-debate page, live rooms, and extension iframe are sibling HTML pages sharing the same CSS tokens.
For voice, the server mints an ephemeral OpenAI Realtime client secret (POST /v1/realtime/client_secrets), the browser exchanges WebRTC SDP directly with OpenAI (POST /v1/realtime/calls), and session config is pushed over the data channel. The server is never in the audio path, so latency is OpenAI-direct.
Each LLM provider has its own Netlify function (claude.mjs, openai-chat.mjs, gemini.mjs, grok.mjs) that prepends the format-specific voice block from lib/voice-guidelines.mjs (server-side so view-source can't scrape it), then layers reference rounds and learned-patterns blocks per Section 5.
The tts.mjs function routes by tier: ElevenLabs eleven_turbo_v2_5 as Pro default, Inworld inworld-tts-1.5-max and Cartesia sonic-2 as Pro opt-ins, OpenAI gpt-4o-mini-tts with per-persona instructions for Free and fallback. Intensity, premium flag, and persona key flow from the client.
Firebase Auth (Google only), Firestore for user state, App Check gated on the sensitive endpoints, rate-limited 6 rounds/hr/IP on Realtime. Payments via Stripe, with Razorpay landing for India before the next paid push.
$5/mo Individual is the conversion target. The other four tiers exist to funnel toward it or to capture an edge segment the $5 tier misses.
| Tier | Price | What you get · why it exists |
|---|---|---|
| Free | $0 | 5 anonymous requests + 5 more on sign-in. The appetizer that proves the wedge in 60 seconds. |
| BYOK | $1/mo | Unlimited Claude on the user's own Anthropic key. Inference-cost hedge for emerging markets; converts "love it, can't pay" into revenue without us bleeding. |
| Individual | $5/mo | 250 requests/mo, all four brains, HD voice. The PPP-friendly tier that unlocks the 68% Indian base; the price every comparable consumer SaaS has converged on. |
| Lifetime | $14.99 once | Same 250 requests/mo forever, no recurring charge. For the impulse-buy converter who'd rather not think about it again. |
| Team | $30/mo | 1,500 requests, 50 seats. Debate clubs, law-school clinics, sales teams. Phase 2 for the schools sales motion. |
Blended gross margin at target mix is ~80%, comparable to Grammarly, Notion, early Duolingo. The $1 BYOK tier is the inference-cost hedge; the $5 Individual is the volume conversion; Lifetime collects upfront cash and seeds the reference class; Team is where school licensing lives.
The acquisition curve is the headline. The funnel is the problem. Both are real, both are diagnosed, the relevant fixes are shipping. Numbers are from Firebase Analytics through 2026-04-19; the next traction refresh is due.
Two known leaks, both diagnosed, neither hidden.
MRR is $0 as of writing. Stripe is wired but the conversion-tracking allowlist was broken in three layers; all three patched this week, plus the customer.subscription.created webhook for billing-portal upgrades. Razorpay lands before the next paid push so India can convert in INR.
$877.60 total. $660 ads, the rest infrastructure. Solo-built, no payroll, no co-founder.
Six-month view. Order matters. The first thing is the gate to everything else.
Razorpay for India. First paid conversions. Validate the $1 BYOK and $5 Individual tiers in the 80% of traffic that's already here. Floor MRR target before opening a pre-seed.
LinkedIn outbound to 1L/2L law students for the $30/mo tier (US ARPU multiplier). "Coach Pro Forever" free for any verified debate coach, no questions asked, gating the per-seat school sale. Pilot programs with the first 3 US Urban Debate Leagues and the first 18 UWC schools.
Capacitor wrap of the existing PWA. Six-week MVP. Structurally fixes the in-app-browser auth bug and unlocks push notifications, which is the missing retention lever.
Organic search is currently near zero because the splash interstitial at root was indexing an empty page. Root now serves the full landing again. SoftwareApplication + FAQPage structured data is in. Search Console verification placeholder is wired; once verified, the queries this site already ranks for become visible. Distinct from this: a TikTok + Instagram content engine (5 pillars, 30 posts in 30 days) is the consumer-acquisition lever next to paid.
Core TAM is ~575,000 competitive debaters globally. Adjacent (forensics, MUN, mock trial, law students) is ~8M. The stretch is the 1.5 billion people learning English. Speak hit $20M ARR at ~2M MAU on the AI-English-tutor thesis; Duolingo did 100M MAU at $84/yr on grammar. "Practice speaking English by arguing with an AI" is the same thesis applied to argumentation. If the data supports it, the debate market becomes a rounding error.
Investors want to know "why this person for this problem." Here.
Aidan Hollinger-Miles. Sophomore at the University of Chicago, philosophy + business economics. Four-year parliamentary debater, national champion (AU ProAms). Built the first version of Debate AI as a sparring partner for himself, shared it with his circuit, and watched the first 100 users turn into 7,000 across 115 countries on $660 of ad spend.
Solo founder for eight months. Six weeks full-time since the public launch. UChicago leave of absence for autumn 2026 is the plan if the funding cycle requires it. UWC alum; that network is the warmest non-circuit channel for the schools track.
The reason the format-accuracy moat is hard to copy: every other AI debate tool was built by someone who can ship product but didn't argue at the top of the country. The voice prompts are extracted from real APDA notes, real ballots, real cross-x patterns. Vibes alone don't get you there.
"The leverage in AI isn't in the model. It's in the workflow around it. Which prompt produces sharp critique, not generic hedging. When to let the agent push back versus defer. How to surface useful output in 30 seconds. That middle layer is where Debate AI lives."