Project Veritas AI powered by TriCode

Inspiration

In the modern era, political news has become increasingly sensationalized and polarized. As a result, the line between objective fact and political bias has become blurred, making it difficult for citizens to distinguish between legitimate claims and narratives shaped to generate headlines. This style of reporting can contribute to misinformation and discourage civic engagement, ultimately reducing political efficacy. With major elections approaching, it is essential that voters have access to reliable information before casting their ballots. A well-informed electorate is fundamental to a healthy democracy. To address this challenge, we developed Veritas AI, a system designed to cut through political bias and deliver factual, evidence-based information to citizens. By providing voters with an accessible and transparent way to evaluate political claims and rumors, we hope to empower individuals to make informed decisions based on evidence rather than politically framed narratives.

What it does

Veritas AI uses multiple agentic agents to verify the validity of political claims. The user asks the chatbot a question about a claim they want to verify (“Is it true that…”, “Did the governor really do…”, etc). The question is first normalized to get rid of any framing that the user prompt may have insinuated and keep the claim neutral. Next, the AI fetches recent and relevant sources from all ends of the political spectrum. The AI then analyzes the source to separate facts from political framing. Finally, those facts are evaluated against the claim made by the user to determine the validity of the claim

The AI model interface, which is viewed by the user, is a normal chat screen, such as any other LLM. The system normalizes the user’s claim and feeds it to a retrieval agent to gather information and conduct initial fact-checking, and transfers it to a political agent where secondary fact-checking, verification, and political framing occur. Then, the verified information is consolidated and handed off to a judge agent which scores the information on a given rubric of factual support, contradictions, claim precision, verification, and sufficient evidence to give an output of a verification score, a list of sources, and a score breakdown for the user to view.

How we built it

We built the system by incorporating multiple agents and programming languages. The agentic AI framework we used is the OpenAI Agents SDK. The application was written using Python, CSS, JavaScript, and HTML. We created a four-agent pipeline that verifies sources in two ways: first, through external APIs such as Google Fact Check, and second, through our own retrieval and judging stages. The workflow begins with a chat interface that receives user input and sends it to the backend. The system then fetches evidence in parallel from NewsAPI, the data.gov API, and the Google Fact Check API, and the retrieval agent classifies those results into supporting and contradicting articles without inventing new sources or altering the user’s claim. These results are consolidated into an evidence bundle, after which a deterministic baseline score is computed in code from the evidence statistics. The evidence bundle is passed to the political agent, which analyzes partisan framing and narrative differences across sources but does not assign a truth score. The political analysis, evidence bundle, and baseline score are then sent to the judge agent, which makes the final scoring decision using a 100-point rubric with 35 points for factual support, 25 for contradictions, 15 for claim precision, 15 for source quality and diversity, and 10 for sufficient evidence, with the final score allowed to differ from the baseline by at most ten points. The system presents the verification score, verdict, supporting and contradicting sources, and rubric breakdown to the user; when evidence is weak or conflicting, the verdict may be “mixed or unclear” while still linking sources for the user to read further.

Challenges we ran into

  • URL verification: At times, the AI did not return the news articles it used to source its replies to the user’s input
  • Evidence returning as output: Throughout the development process, a challenge was that the APIs were not returning any evidence, leaving the judge to come to an inconclusive outcome.

Accomplishments that we're proud of

  • The verification is rapid and utilizes a double verification system to improve reliability through independent verification paths
  • The AI verifies through trusted news outlets and official press releases from governmental bodies(e.g., data.gov, https://data.un.org/) to offer perspectives from sources with differing viewpoints while maintaining transparency about source origin and evidence
  • We tested multiple contemporary claims to refine our scoring rubric and increase reliability, while also ensuring that even if the system output is incorrect, sources will prove a correct decision for the users

What we learned

  • In the system backend, high-quality datasets matter more than model sophistication
  • Creating a multi-agent pipeline lets us specialize each agent for one task, which improves reliability and accuracy. A single agent handling everything risks filling its context window, which can increase hallucinations as it struggles to manage too much information at once. Splitting work across agents spreads that load more evenly and keeps each context window manageable.
  • Transparency is essential when dealing with political information, so sourcing from government datasets and running truth/bias tests is important for accurate and well-supported information
  • AI models can confidently present incorrect conclusions if the evidence quality is poor, requiring immense verification processes and evidence logging to prevent user miscommunication

What's next for Veritas AI

  • Expanding from solely politics to all news and information
  • Incorporating image verification and voice-based user inputs
  • Multilingual AI model and international news incorporation to be accessible to a broader audience
  • Mobile support for ease of access

Built With

Share this project:

Updates