Inspiration

Misinformation spreads 6x faster than truth on social media. YouTube alone serves over 1 billion hours of video daily — and there's no easy way to fact-check what you're watching. I asked myself: what if AI could watch a video and tell you exactly which claims are true, false, or unverified — in seconds? That's how Veritas was born: an AI-powered bullshit detector for YouTube.

What it does

Paste any YouTube URL and Veritas will: Extract the transcript — using a multi-strategy pipeline (YouTube captions → custom HTML scraper → yt-dlp subtitles → Whisper audio transcription → metadata fallback) Identify factual claims — AI separates verifiable assertions from opinions using strict and relaxed extraction modes Fact-check each claim — cross-references claims against trusted web sources via Tavily search API, with domain trust scoring (deprioritizing Reddit/Quora, prioritizing Reuters/AP/BLS) Score the bullshit level — a 0–100 Truth Score based on verified vs. falsified claims Detect manipulation tactics — analyzes the rhetoric using a radar chart of 8 propaganda tactics (Appeal to Emotion, Cherry-Picking, Loaded Language, Strawman, etc.) The result is a comprehensive, visual report with an interactive claim timeline, expandable reasoning, source links, and a manipulation radar.

How I built it

Frontend: Next.js 16 + React 19 + Tailwind CSS v4 + Framer Motion for smooth animations AI Pipeline: Vercel AI SDK with tiered model strategy — heavy models (Llama 70B) for claim extraction and manipulation analysis, light models (Llama 8B) for individual claim verification Transcript Pipeline: 5-strategy fallback chain ensuring I can analyze almost any YouTube video, regardless of caption availability Fact-checking: Tavily Search API with advanced search depth, domain trust ranking, and AI-synthesized answers Resilience: Robust JSON repair for truncated LLM outputs, rate-limit cooldown tracking, exponential backoff, and automatic model fallback During development, I used AI coding assistants to accelerate the process: Gemini 3 for UI design, GPT-3 Codex xHigh for general development support, and Claude Opus 4.6 for final code review and quality assurance.

Challenges I ran into

YouTube blocks scrapers aggressively — I had to build a 5-layer fallback system: library → custom HTML scraper → yt-dlp subtitles → Whisper audio transcription → metadata fallback Groq free tier rate limits — I split API calls across two model pools (70B + 8B) to maximize throughput within token quotas, and added intelligent cooldown tracking LLM output reliability — Groq sometimes returns truncated JSON due to token limits. I built a multi-strategy JSON repair system (balanced-brace extraction, bracket repair, regex salvaging) that recovers usable data from malformed responses Claim quality — early versions extracted trivial claims ("he woke up at 6am"). I tuned prompts to prioritize hard, falsifiable facts: economic stats, legal assertions, scientific claims

Accomplishments that we're proud of

Built a production-ready fact-checking pipeline that handles edge cases most tools can't (no captions, rate limits, malformed AI outputs) Achieved 5-strategy transcript extraction with 95%+ success rate across diverse YouTube content Designed a beautiful, responsive UI with smooth animations that makes complex data digestible Implemented domain trust ranking that prioritizes authoritative sources over social media noise Created a manipulation detection system that goes beyond simple fact-checking to analyze rhetorical tactics

What I learned

Building resilient AI pipelines means assuming everything will fail — and having a chain of fallbacks ready Rate limit management is as important as the core logic when using free-tier AI APIs Prompt engineering is an iterative art: the difference between extracting 10 garbage claims vs. 10 meaningful ones is in the system prompt details User experience matters: a fact-check tool is useless if people don't trust or understand the results — clear visualizations and source transparency are critical

What's next for Veritas

Real-time browser extension that fact-checks while you watch Multi-language support (currently optimized for English) Historical claim tracking and creator credibility scores Community-sourced verification layer API for journalists and fact-checking organizations

Built With

Share this project:

Updates