Inspiration
Debates move fast, and it is hard to tell what was actually said, what was factual, and whether both sides were being held to the same standard.
What it does
It listens to a debate (live mic or an uploaded clip), splits it by speaker, works out which side each person is on, pulls out the factual claims and checks them against the web, flags self-contradictions and double standards, and gives each side a credibility score - then writes a neutral post-debate report. It never declares a winner; it just lays out the facts.
How we built it
It's a pipeline of small AI nodes: claims -> fact-check -> contradictions -> scoring, not one giant prompt.
For live speaker separation, Speechmatics handles the words, and a local diarizer (Silero VAD + pyannote/wespeaker voice embeddings) builds a voice fingerprint for each person and keeps their label consistent for the whole debate. Uploads use pyannote's batch model + Whisper for the most accurate separation.
Challenges we ran into
When people talk over each other or cut in fast on a single shared mic, the first word or two of the new speaker can still land on the previous one. Overlapping speech is genuinely hard with one microphone. Uploaded clips are still the most accurate.
Accomplishments that we're proud of
- A "gate" that ignores intros, ads and small talk, so analysis only starts once the real debate does.
- A pipeline of small AI nodes instead of one giant prompt.
- Live speaker separation that keeps labels consistent across the debate.
What we learned
Live debate analysis is not just transcription. Speaker separation, factual claim extraction, contradiction detection, and neutral scoring all need to work together.
What's next for Debatly
Improve fast speaker handoffs, especially when people interrupt or overlap on a shared mic, and keep improving live accuracy so it gets closer to uploaded-clip quality.
Log in or sign up for Devpost to join the conversation.