Inspiration

Debates shape how people think, but there's no referee. Bad logic slides through, false claims get repeated, and confidence beats truth. I wanted to build something that challenges arguments while they happen, not hours later in a fact-check article nobody reads.

What it does

Forum Mode: Debate 1v1 against Socrates, Christopher Hitchens, or Friedrich Nietzsche. Each opponent responds in character with their own voice (ElevenLabs). Your arguments are analyzed for logical fallacies and fact-checked against live web sources. If a fallacy is detected, The Record triggers an audio ping and opens a courtroom-style ruling modal with the exact quote and explanation.

Record Mode: Two humans debate live using one mic with real-time transcription. You tag which speaker is talking. The Record listens in the background, flags fallacies, fact-checks claims via Google Search grounding, and builds a credibility score for each speaker. When the session ends, both get a full verdict with stats and evidence logs.

How I built it

Solo build, 36 hours. Designed the system in Google Stitch, then scaffolded React 18 + TypeScript + Vite + Tailwind. Gemini 2.5 Flash powers four distinct features: philosopher AI personas, fallacy detection, fact-checking with Google Search grounding, and audio transcription. ElevenLabs Flash v2.5 gives each philosopher a unique voice with low-latency streaming. Record Mode uses Web Speech API for continuous transcription with manual speaker tagging. Zustand manages global state. Custom rate limiting and debounced analysis keep API calls stable during rapid debate. Deployed on Vercel.

Challenges I ran into

Rate limiting was brutal. Each message triggers a philosopher response, fallacy analysis, and fact-check, all hitting Gemini. Built a custom throttling layer with minimum delays and sequential processing to stop 429 spirals.

Web Speech API only works on HTTPS and only in Chrome. Spent hours debugging voice on localhost before just deploying to Vercel to test.

Nietzsche replaced Marcus Aurelius mid-build because Stoics don't argue, they accept. The system prompts needed careful tuning to get each philosopher to actually fight back.

What I learned

API orchestration matters more than the API itself. Making four Gemini integrations coexist without stepping on each other taught me more about async architecture than any course. Design consistency carries a project too. The courtroom theme gave every feature a clear visual language, from the fallacy modal to the credibility badges.

What's next

Voice cloning so you can debate against a friend's actual voice. Multi-round structured debates with opening statements, rebuttals, and closing arguments. A spectator mode for live audiences. And a public API so debate platforms can plug in The Record as an analysis layer.

Built With

Share this project:

Updates