Project Info
Inspiration
Our mission is rooted in the fight against fake news, misinformation, and disinformation, which are increasingly pervasive threats in today’s digital world. As the saying goes, "the pen is mightier than the sword," which underscores the power of words and information. We aim to ensure that no one falls victim to digital deception. While technology has contributed to the spread of misinformation, we believe it can also be a powerful ally in promoting the truth. By leveraging AI for good, we aim to combat falsehoods and uphold the integrity of information. Fun fact: Moodeng is a pygmy hippopotamus born on July 10, 2024, living in Khao Kheow Open Zoo, Thailand. She became a viral internet sensation during a busy political season in the US. Amid the flood of true and half-true information, Moodeng, symbolizing purity and honesty, stood as a beacon of clarity. Like Moodeng, our tool is here to cut through the noise and keep things transparent. So, Vote for Moodeng!
What it does
Social media platforms are now major sources of rapidly shared information. Our Chrome extension, MD FactFarm, simplifies fact-checking through AI-driven content analysis and verification. Initially focused on YouTube, our tool offers real-time fact-checking by scanning video content to identify and flag misinformation while providing reliable sources for users to verify accuracy.
How we built it
At the core of our system is a Large Language Model (LLM) that we trained and optimized to accurately understand and interpret various forms of misinformation, powering our fact-checking capabilities. At the core of our system is a Large Language Model (LLM) that we trained and optimized to accurately understand and interpret various forms of misinformation, powering our fact-checking capabilities. We integrated an AI agent using Fetch.ai and built services and APIs to enable seamless communication with the agent. We integrated an AI agent using Fetch.ai and built services and APIs to enable seamless communication with the agent. Our front-end, built with HTML, CSS, and JavaScript, was designed and deployed as a Chrome extension. Our front-end, built with HTML, CSS, and JavaScript, was designed and deployed as a Chrome extension.
Challenges we ran into
One of the major challenges we encountered was ensuring that the AI could accurately differentiate between fact, opinion, and misleading content. Early on, the outputs were inconsistent, making it difficult to trust the results. To achieve this, we had to rethink our approach to prompt engineering. We provided the AI with more detailed context and built a structured framework to clearly separate different types of content. Additionally, we implemented a formula for the AI to use to determine a confidence score for each output. These changes helped us generate more consistent and reliable results, enabling the AI to better recognize the subtle distinctions between fact, opinion, and misleading content. One of the major challenges we encountered was ensuring that the AI could accurately differentiate between fact, opinion, and misleading content. Early on, the outputs were inconsistent, making it difficult to trust the results. To achieve this, we had to rethink our approach to prompt engineering. We provided the AI with more detailed context and built a structured framework to clearly separate different types of content. Additionally, we implemented a formula for the AI to use to determine a confidence score for each output. These changes helped us generate more consistent and reliable results, enabling the AI to better recognize the subtle distinctions between fact, opinion, and misleading content. Another challenge was integrating multiple agent frameworks into a unified system that could operate seamlessly. Managing the intricacies of coordinating tasks and data flow between these diverse components contributed to a complex integration process. Another challenge was integrating multiple agent frameworks into a unified system that could operate seamlessly. Managing the intricacies of coordinating tasks and data flow between these diverse components contributed to a complex integration process.
Accomplishments we're proud of
We successfully developed a Chrome extension that that provides real-time fact-checking for YouTube, empowering users to make informed decisions. We successfully developed a Chrome extension that that provides real-time fact-checking for YouTube, empowering users to make informed decisions. We crafted prompts that effectively leverage the LLM's ability to detect misinformation. We crafted prompts that effectively leverage the LLM's ability to detect misinformation. We successfully integrated Fetch.ai, utilizing agents that lay the foundation for scalability. We successfully integrated Fetch.ai, utilizing agents that lay the foundation for scalability.
What we learned
We learned the importance of defining the problem clearly and deciding on a minimum viable product (MVP) within a limited timeframe. Additionally, we focused on framing our work to align with the AI agent framework, which has been crucial in improving our approach to misinformation detection.
What's next
Moving forward, we plan to expand our platform to include other social networks, such as Twitter and Facebook, where misinformation spreads rapidly. We aim to gather a wider range of information sources to ensure more comprehensive fact-checking and cover more diverse content. Moreover, we are working on enhancing our AI's fact-checking mechanics, utilizing more advanced techniques to improve accuracy.
MD Fact Farm
Social media platforms are now major sources of rapidly shared information. Our Chrome extension, MD FactFarm, simplifies fact-checking through AI-driven content analysis and verification. Initially focused on YouTube, our tool offers real-time fact-checking by scanning video content to identify and flag misinformation while providing reliable sources for users to verify accuracy.
How to start this api server locally
- Clone the repository
- (Optional) Create a python virtual environment, use what ever tool you like, I use anaconda
- Install the required packages
pip install youtube-transcript-api
pip install openai
pip install flask
pip install flask-cors
pip install uagents-ai-engine
pip install uagents
- add your openai api key and youtube key to openapi_service.py file
- run fake news agent and api server
python fakenewsagnet.py
python api.py
- The server should be running on localhost:5100, please validate by visiting the url in your browser
http://localhost:5100/api/v1/is-fake-news/sAmwIKTx9hs
How it works

- API will receive youtube video id from client, send to openai service (part of analyze service, another agents that will call uAgents) and return the result whether the video is fake news or not.
- For now it determine if the video is fake news by pulling transcript, comments title of the video then send to uAgennts (fakenew agent) to determine if the video is fake news or not.
Analysis
View
Metric
- 6
Figures cover GitHub contributors during the hackathon window. A co-authored commit counts in full for each author, so per-member totals add up to more than the whole-team figures.
Technology
- PythonIn code
- CSSClaimed
- FlaskClaimed
- HTMLClaimed
- JavaScriptClaimed
1 of 5 appear in the indexed code. 4 claimed on Devpost could not be matched to code, which may simply mean the tool leaves no trace in the repository.
AI coding agents
No AI coding agent signals were found in this repository.
Detected from committed agent config files and commit authorship. Absence of a signal is not proof an agent was unused.
Codebase size
Source size
8.0 KB
Source files
4
Counts recognized source files only; vendored directories, binaries and lockfiles are excluded, so this is smaller than the repository on disk.
Repository
courtofdreams/md-fact-farm-api
5 files · 208 KB · @ 0fa467f
Structure
Application logic
3 files · 60%Domain rules, services and shared utilities.
Supporting
Layers are inferred from where files sit in the tree, not from reading the code. A project that names its directories unconventionally will read oddly here — open the file browser to check anything the diagram implies.
Languages
- Python80%
- Markdown20%
Share of indexed source by file size. Binary and vendored files are excluded.
Feature verification
Fetch.ai / uAgents integrationVerified
Integrated an AI agent using Fetch.ai with services/APIs for agent communication
Claimed on Devposthigh confidencefakenewsagent.py:9— Defines a uagents.Agent with on_query handler that receives Request and replies with Responseopenai_service.py:60— agent_query() in the API service uses uagents.query.query() to send the Request to AGENT_ADDRESS and decode the Envelope response
Flask API backend serving fact-check resultsVerified
Built services and APIs (Flask) to enable communication with the agent
Claimed on readmehigh confidenceapi.py:5— Flask app with CORS exposing /api/v1/is-fake-news/<id>, /api/v1/transcript/<id>, /api/v1/comments/<id>, run on port 5100 as documented in README
LLM-based misinformation detectionVerified
A trained/optimized LLM powers fact-checking to distinguish fact, opinion, and misleading content
Claimed on Devposthigh confidencefakenewsagent.py:44— process_fakenews calls OpenAI chat.completions.create (gpt-3.5-turbo) with a prompt asking whether the transcript/title/comments constitute fake news
YouTube transcript/title/comments retrievalVerified
Pulling transcript, comments, title of the video then sending to uAgent to determine fake news
Claimed on readmehigh confidenceopenai_service.py:18— get_youtube_transcript uses YouTubeTranscriptApi.get_transcriptopenai_service.py:28— get_youtube_title calls YouTube Data API v3 videos endpointopenai_service.py:41— get_youtube_comments calls YouTube Data API v3 commentThreads endpoint
Multiple agent frameworks integrated into a unified systemCode-supported
Integrating multiple agent frameworks into a unified system that could operate seamlessly
Claimed on Devpostlow confidencefakenewsagent.py:4— Only uagents (Fetch.ai) framework is evident in the code; no other distinct agent framework is present to substantiate 'multiple agent frameworks'
Real-time YouTube video content scanning for misinformationCode-supported
Real-time fact-checking by scanning video content to identify and flag misinformation
Claimed on readmemedium confidenceapi.py:9— Flask endpoint /api/v1/is-fake-news/<id> fetches title, transcript, and comments and returns a yes/no fake-news verdict, but this is a pull-based REST call, not an in-page real-time scan of video playback, and there is no extension code triggering it
Chrome extension front-end (HTML/CSS/JS)Claimed only
Front-end built with HTML, CSS, and JavaScript, deployed as a Chrome extension
Claimed on Devposthigh confidenceConfidence score formula for fact-check outputsClaimed only
Implemented a formula for the AI to use to determine a confidence score for each output
Claimed on Devposthigh confidenceReliable sources provided for users to verify accuracyClaimed only
Providing reliable sources for users to verify accuracy
Claimed on readmehigh confidence
An AI agent derived these features from the project’s Devpost page and readme, then searched the code for each one. Verified features are backed by cited code; claimed-only features had no supporting code, which is not by itself proof a feature is missing.
Export this project's context (description, README, evidence, key source files) to chat with an AI agent elsewhere.