VeriFact
AI-powered fact-checking system with evidence-backed explanations

A fact-checking system that verifies user-submitted claims with evidence-backed explanations, combining web search, machine learning, and text polishing to deliver clear, transparent verdicts across a web app, CLI, and Telegram bot.
The Problem
Misinformation spreads quickly across digital platforms, and most existing fact-checking tools give limited explanations or aren’t accessible to non-technical users. VeriFact aims to close that gap with evidence-backed, transparent verdicts anyone can follow.
Key Features
- Explainable Verdicts: Generates clear, evidence-based explanations with references to credible web sources
- Machine Learning Integration: Uses Sentence Transformers for semantic similarity and BART-MNLI for natural language inference (NLI)
- Text Polishing: Employs Pegasus-XSUM to rephrase explanations for clarity and readability
- Efficient Caching: Stores results in PostgreSQL to avoid redundant processing
- Multi-Channel Access: Web frontend (Vue.js), CLI, and Telegram bot integration
- Scalable Backend: FastAPI with async support for handling multiple concurrent requests
- Web Search Integration: Leverages Google Custom Search to retrieve relevant sources
- Confidence Scoring: Provides numerical confidence in claim assessment
How It Works
- Claim Input: Users submit claims via CLI, web interface, or Telegram bot
- Cache Check: System queries PostgreSQL for cached results using a normalized claim
- Web Search: Google Custom Search API retrieves up to 10 relevant URLs
- Heuristic Analysis: Scores search results using keyword-based heuristics for an initial verdict
- Deep ML Analysis: Extracts and cleans web content with Trafilatura, ranks sentences by similarity with Sentence Transformers, then classifies them as ENTAILMENT, CONTRADICTION, or NEUTRAL using BART-MNLI
- Verdict Fusion: Combines heuristic and ML results into a final verdict
- Explanation Generation: Constructs a factual explanation from supporting and contradicting evidence
- Text Polishing: Rephrases the explanation using Pegasus-XSUM for fluency
- Response & Caching: Returns the verdict with confidence score and stores the result in PostgreSQL
Technologies Used
- Backend: FastAPI (Python), Uvicorn
- ML Models: PyTorch, Sentence Transformers (
all-MiniLM-L6-v2), BART-MNLI, Pegasus-XSUM - Frontend: Vue.js 3 + Vite
- Database: PostgreSQL
- Web Scraping: Trafilatura
- Search: Google Custom Search API
- Additional: Telegram bot integration, CLI interface
Verdict Classifications
- Likely True: Strong evidence with supporting sources
- Likely False: Contradicting evidence from credible sources
- Mixed/Uncertain: Conflicting evidence or insufficient data
Real-World Impact
- HackIndore Achievement: Ranked 7th out of 200 teams at the HackIndore hackathon
- Paid Contract: The project’s success led to a paid development contract, validating the practical viability of the fact-checking system
- Team Project: Built with a four-person team, with Vasant serving as Team Lead