Real-time audio fact-checking application that listens to speech, identifies claims, and verifies them instantly.
FactCheckMe is a real-time fact-checking tool that helps voters cut through misinformation while watching debates and speeches. As claims are made, we identify them, flag misleading techniques like cherry-picked statistics or missing context, and show the truth instantly. We don't tell you what to believe. We help you think clearly. Powered by Hyperspell, FactCheckMe remembers every fact-check, getting smarter over time. No more waiting for tomorrow's news cycle. Know what's true before you vote.
- Live audio transcription using ElevenLabs speech-to-text
- Automatic claim detection and extraction
- Real-time fact verification with Google Search grounding
- Semantic caching with Hyperspell for instant repeated claim verification
- History tracking of checked claims
- Statistics dashboard
- React + TypeScript
- Vite
- Tailwind CSS
- shadcn/ui
- Supabase (Database & Edge Functions)
- ElevenLabs API (Speech-to-Text)
- Google Gemini 2.0 (AI + Search Grounding)
- Hyperspell (Semantic Cache)
npm installSet up the following secrets in Supabase Dashboard (Project Settings > Edge Functions > Secrets):
GEMINI_API_KEY- Get from Google AI StudioELEVENLABS_API_KEY- Get from ElevenLabsHYPERSPELL_API_KEY- Get from Hyperspell
Hyperspell provides semantic caching for fact-checks. When enabled:
- Instant responses for repeated claims (under 100ms vs 2-3 seconds)
- Cost savings by avoiding redundant API calls to Gemini
- Semantic matching recognizes similar claims worded differently
- "Unemployment is 4.2%" and "The unemployment rate is at 4.2%" match
- Perfect for debates where politicians repeat the same talking points
Without Hyperspell, every claim gets verified fresh. With Hyperspell, the second mention of "inflation is 9%" returns instantly from cache.
npm run devnpm run dev- Start development servernpm run build- Build for productionnpm run test- Run testsnpm run lint- Run linter