Skip to content

Neth766/AI-Misinformation-Detector

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Truth Guardian

Truth Guardian is a Flask-based misinformation analysis web app that combines lightweight claim parsing, real-time DuckDuckGo lookups, source credibility hints, and explainable scoring. It is not a machine learning classifier; the strength of the project is that the reasoning path is inspectable and easy to discuss in an interview.

Truth Guardian architecture

Why this project stands out

  • It treats misinformation analysis as a systems problem, not just a single score.
  • It explains where a verdict came from with sources, contradiction counts, and linguistic signals.
  • It exposes both a browser UI and a JSON API workflow.
  • It is simple enough to review quickly, while still showing product thinking and backend reasoning.

Core workflow

  1. Receive a claim from the UI or /analyze endpoint.
  2. Extract searchable phrases, entities, and numeric cues.
  3. Query DuckDuckGo Instant Answer data for supporting context.
  4. Separate supporting, contradicting, and neutral evidence.
  5. Combine evidence balance with source credibility hints into an explainable verdict.
  6. Return structured output for the frontend to render.

Architecture at a glance

Running locally

git clone https://github.com/Neth766/AI-Misinformation-Detector.git
cd AI-Misinformation-Detector
pip install -r requirements.txt
python app.py

Open http://localhost:5000 in your browser.

Test command

python -m unittest discover -s tests

Example API call

curl -X POST http://127.0.0.1:5000/analyze \
  -H "Content-Type: application/json" \
  -d '{"text":"According to a peer-reviewed study, climate change affects weather patterns."}'

Example response shape

{
  "label": "LIKELY TRUE",
  "confidence": 88,
  "warning": null,
  "source_summary": "Analyzed 4 web sources: 2 supporting, 0 contradicting, 2 from credible outlets",
  "processing_time": "428ms"
}

Interview talking points

  • Explainable scoring versus opaque black-box classification.
  • Trust tradeoffs when using live web data instead of a curated fact-check database.
  • Frontend and backend contract design for rich result rendering.
  • How you would extend this into a stronger ML-assisted or source-ranked system.
  • Safety limitations and why confidence should not be treated as ground truth.

Limitations

  • The app depends on live web availability and the quality of DuckDuckGo Instant Answer data.
  • Credibility scoring is heuristic and intentionally transparent, not authoritative.
  • The current search and phrase extraction logic is English-first.
  • This should be treated as a decision-support demo, not a substitute for professional fact-checking.

Roadmap ideas

  • Add richer source ranking and deduplication.
  • Introduce claim history and caching.
  • Support multilingual claim extraction.
  • Pair heuristics with a trained text classifier.
  • Add containerization and CI if the project grows further.

License

This project is licensed under the MIT License. See LICENSE for details.

About

Flask web app for explainable misinformation analysis using live search evidence, source hints, and structured verdicts.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors