Inspiration 🌟

In an era where information spreads at lightning speed across the internet, we were deeply concerned about the proliferation of misinformation, especially with the upcoming November election. The challenge of distinguishing fact from fiction has never been more critical. This reality inspired us to create FactChecker - a tool designed to empower users with real-time fact validation capabilities, helping them make informed decisions based on verified information.

What it does 🎯

FactChecker is a sophisticated browser extension that:

  • Analyzes web content in real-time for factual claims
  • Provides instant verification results using advanced AI and reliable fact-checking databases
  • Highlights potentially misleading information directly on web pages
  • Offers detailed explanations and sources for fact-checked claims
  • Helps users develop better information literacy skills

How we built it 🛠️

The development process involved several key stages:

  1. Created a robust backend system using Python for natural language processing and fact verification
  2. Implemented a Chrome extension with JavaScript for seamless browser integration
  3. Developed an AI-powered fact-checking algorithm using state-of-the-art language models
  4. Built a user-friendly frontend interface using Next.js and Tailwind CSS
  5. Integrated multiple fact-checking APIs and databases for comprehensive verification

Challenges we ran into 🚧

Some key challenges we faced included:

  • Ensuring accurate natural language processing for complex statements and context
  • Optimizing response times while maintaining verification accuracy
  • Balancing user privacy with effective fact-checking capabilities
  • Managing API rate limits and implementing efficient caching solutions

Accomplishments that we're proud of 🏆

  • Successfully created a real-time fact-checking system with high accuracy
  • Developed an intuitive and non-intrusive user interface
  • Implemented sophisticated NLP algorithms for context-aware fact verification
  • Built a scalable architecture that can handle high-volume requests
  • Achieved seamless integration with various browsing environments

What we learned 📚

Throughout this project, we gained valuable experience with:

  • Working with fact-checking APIs and information validation systems
  • Building user-friendly interfaces for displaying verification results
  • Understanding the importance of reliable information sources
  • Implementing privacy-first data handling practices
  • Managing complex browser extensions
  • Coordinating frontend and backend systems for optimal performance

What's next for FactChecker 🚀

We have exciting plans for the future:

  1. Expanding our fact-checking database and API integrations
  2. Implementing machine learning for improved accuracy
  3. Adding support for multiple languages
  4. Developing a mobile version of the extension
  5. Creating a community-driven fact-checking feature
  6. Establishing partnerships with news organizations and educational institutions

This project helped us grow as developers by reinforcing the importance of building technology that serves a crucial social purpose while maintaining high technical standards. We're committed to continuing our work in combating misinformation and helping users make well-informed decisions.

Built With 🛠️

Frontend Technologies

  • Next.js - React framework for the web interface
  • TypeScript - For type-safe code
  • Tailwind CSS - For styling and responsive design
  • Chrome Extensions API - For browser integration

Backend Technologies

  • Python - Primary backend language
  • Flask - Web framework for API endpoints
  • Natural Language Processing (NLP)
    • Compromise.js - For text analysis
    • NLTK - For sentence tokenization

AI/ML

  • Ollama - For local AI model hosting
  • LangChain - For AI chain operations
  • DuckDuckGo API - For web search and verification

Development Tools

  • Node.js - JavaScript runtime
  • ESLint - Code linting
  • Git - Version control
  • npm/pip - Package management

APIs and Services

  • Fact-checking APIs
    • Google Fact Check Tools
    • Various news verification services
  • External Services
    • DuckDuckGo Search API
    • News APIs for cross-referencing

Architecture

  • Browser Extension
    • Content Scripts
    • Background Services
    • Popup Interface
  • Client-Server Architecture
    • RESTful API endpoints
    • Real-time verification services

🔍 FactChecker

A powerful browser-based fact-checking tool that helps users verify information in real-time.

🌟 Features

  • Real-time Fact Checking: Analyze statements directly from web pages
  • Browser Extension: Seamless integration with your browsing experience
  • AI-Powered Analysis: Utilizes advanced NLP for accurate fact verification
  • User-Friendly Interface: Clean, modern Next.js frontend
  • Privacy-Focused: Local processing capabilities using Ollama

🏗️ Architecture

The project consists of three main components:

1. Browser Extension (./client)

  • Chrome/Firefox compatible extension
  • Real-time content analysis
  • Sentence tokenization
  • OAuth authentication

2. Backend Server (./server)

  • Fast and efficient fact-checking server
  • DuckDuckGo integration for web searches
  • Ollama integration for AI processing
  • RESTful API endpoints

3. Frontend Application (./frontend)

  • Modern Next.js application
  • Responsive UI with Tailwind CSS
  • Real-time results display
  • Interactive fact-checking interface

🚀 Getting Started

Prerequisites

  • Node.js (v16 or higher)
  • Python 3.8+
  • Ollama installed locally

Installation

  1. Clone the repository bash git clone https://github.com/yourusername/FactChecker.git cd FactChecker
  2. Install backend dependencies bash pip install -r requirements.txt
  3. Install frontend dependencies bash cd frontend/fact-checker-app npm install npm install lucide-react
  4. Install browser extension dependencies bash cd ../../client npm install ### 🔧 Configuration
  5. Set up your environment variables
  6. Configure the Ollama model settings
  7. Set up DuckDuckGo API credentials (if required)

🖥️ Usage

Running the Server

cd server
python "duckduckgo ollama server.py"
python fact_check_server.py

Starting the Frontend

cd frontend/fact-checker-app
npm run dev

Loading the Browser Extension

  1. Open your browser's extension management page
  2. Enable developer mode
  3. Load unpacked extension from the client directory

📚 API Documentation

The server exposes the following endpoints:

  • POST /check-fact: Submit a statement for fact-checking
  • GET /results: Retrieve fact-checking results
  • POST /feedback: Submit user feedback

🤝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

📝 License

This project is licensed under the MIT License - see the LICENSE file for details.

👥 Authors

🙏 Acknowledgments

  • Thanks to the Ollama team for their amazing AI models
  • The Next.js team for their fantastic framework
  • All contributors and supporters of this project

Built With

Share this project:

Updates