Hackathon · AI
Verity
Scores any news article for credibility across six dimensions from Canada's MDM framework.
The problem
It is hard to tell at a glance whether an article is reporting, opinion or something written to mislead. The Canadian Centre for Cyber Security publishes a framework (ITSAP.00.300) that sorts content into valid, misinformation, disinformation and malinformation. Verity applies it to any link you paste.
What I built
- Six analyzer modules: domain trust (WHOIS domain age and a Media Bias/Fact Check dataset), sensationalism, fact checking, author verifiability, content quality and MDM threat class.
- Backboard.io as a RAG memory layer, so the app remembers articles it has already seen.
- Opinion and satire come back as N/A, so the app never guesses a score it cannot back up.
- ElevenLabs reads each verdict out loud.
A decision worth explaining
Calling Gemini once per criterion would have used six requests per article and burned through the free quota during judging. All six criteria go into a single Gemini 2.0 Flash call, and results are cached by a hash of the article text, so a repeat lookup costs zero API calls.
Outcomes
- Placed in the top 10 at Hack Canada 2026.
- 75 unit tests with mocked API calls cover the scoring logic.
- Live at verityca.vercel.app.