Inspiration
Our inspiration came from the growing challenge of navigating the digital world, where misinformation can spread rapidly and erode trust. We saw a need for a tool that went beyond a simple "true/false" verdict. We wanted to build something that not only verifies information but also empowers and educates users, giving them the skills to think critically and identify misleading content on their own. The goal was to create a digital literacy coach, not just a fact-checker.
What it does
What it does
VeriFi is a full-stack web application that detects and explains potential misinformation in news headlines and text. A user can paste a claim into the clean, modern interface, and the AI backend instantly analyzes it. The result is presented with a clear "Real" or "Fake" verdict, a confidence score, and a color-coded design that's easy to understand at a glance. The interface is enhanced with features like dark/light mode, a captivating homepage, and a structured layout with "About" and "Detector" sections.
What makes VeriFi novel is its Agentic AI Hybrid System, which combines three powerful components:
A Style Detector to identify linguistic and stylistic cues typical of misinformation.
A News Retrieval Module that performs live web searches to fetch credible sources.
An LLM Fact-Checker that cross-verifies claims with retrieved evidence.
This multi-agent collaboration transforms VeriFi from a simple classifier into a search-powered, explainable fact-checker. Instead of just labeling news, it provides supporting or contradicting sources, acting as both a detector and a digital literacy coach. Users not only see the verdict but also learn why—gaining critical thinking skills to navigate misinformation independently.
How we built it
We built this project following a complete, end-to-end machine learning workflow:
Backend: We used Python with the Flask web framework to build the server and handle all the logic.
Data Processing: The initial WELFake_Dataset.csv was cleaned, processed, and standardized using the Pandas library.
Machine Learning Model: We used Scikit-learn to train a Logistic Regression model on TF-IDF vectorized text features, achieving ~95% accuracy. The final model was saved with Joblib for fast, real-time predictions.
Frontend: The user interface was built with HTML, CSS, and vanilla JavaScript. We designed a professional, responsive UI from the ground up, implementing advanced features like CSS variables for theme toggling, keyframe animations for a dynamic feel, and a multi-page layout.
Challenges we ran into
Throughout the development process, we faced and overcame several real-world technical challenges. In the data cleaning phase, we tackled UnicodeDecodeError from messy file encodings and TypeError from inconsistent data labels. While building the Python scripts, we debugged common Windows-specific issues like SyntaxError (unicodeescape) with file paths and ModuleNotFoundError before successfully setting up the environment. Finally, integrating the sophisticated, feature-rich front end with the Flask backend and ensuring seamless navigation and functionality was a key challenge that we successfully resolved.
Accomplishments that we're proud of
We are incredibly proud of creating a complete, polished, and functional full-stack application from scratch. Our main accomplishments include:
Achieving a high accuracy of ~95% with our trained machine learning model.
Building a highly professional and feature-rich user interface that includes a stunning homepage, a functional detector, and a seamless dark/light mode experience.
Successfully implementing an end-to-end machine learning pipeline, from raw data cleaning to a live, interactive web deployment.
Creating a tool that is not only functional but also beautiful and engaging, which we believe is key to making technology accessible and useful to a wider audience.
What we learned
This project was a tremendous learning experience. We gained practical, hands-on skills across the entire development lifecycle. We learned how to meticulously clean and prepare real-world data, how to train and evaluate a machine learning model, and how to serialize it for production use. Critically, we learned how to build a robust Flask backend to serve our model and how to create a sophisticated front-end that communicates with it, complete with modern CSS design, JavaScript interactivity, and a multi-page structure.
What's next for VeriFi
This project is a strong foundation with exciting potential for future development. Our next steps include:
Multimodal Analysis: Expanding the AI to detect misinformation in images (memes, screenshots) and videos.
Browser Extension: Creating a browser plug-in that allows users to verify content directly on social media and news websites without leaving the page.
Adding More "Agentic" Features: Implementing the ability for the AI to perform live web searches to find and present contradicting or supporting evidence from reliable sources.
Multilingual Support: Training models in other languages to make VeriFi a globally accessible tool for fighting misinformation.
Built With
- css3
- flask
- html5
- javascript
- joblib
- pandas
- python
- python-dotenv
- requests
- scikit-learn
Log in or sign up for Devpost to join the conversation.