StoryTrace - Git for News

A multi-agent AI system that takes any news article or topic, finds the original wire story, crawls 15 global outlets, scores how much each outlet's coverage drifted from original, and visualizes the mutation chain as an interactive D3 tree + 3D globe.

Live demoGitHub0

Overview

StoryTrace is a "Git for News" — a tool that tracks how a story mutates as it travels across global media outlets.

You paste any article URL or type a topic (e.g. "Iran nuclear deal"). StoryTrace's 7-agent LangGraph pipeline springs into action: the Seed Agent finds the original wire story via GDELT, the Crawler Agent scrapes 15 RSS feeds across 8 countries, a Translator Agent localizes non-English coverage to English, the DNA Extractor (Featherless/Qwen2.5) pulls structured facts from each article, the Drift Scorer measures how many key facts each outlet dropped or distorted, the Geo Builder organizes coverage by country into a D3-ready tree, and an Alert Agent fires webhooks when drift exceeds a threshold.

The results render as an interactive D3.js tree — nodes colored green (faithful), amber (moderate drift), red (high drift) — alongside a 3D globe showing which countries covered the story and how differently. Clicking any node reveals a DiffPanel showing exactly which facts were kept, dropped, or altered.

The backend is FastAPI + LangGraph + PostgreSQL + Redis. The frontend is Next.js 16 with D3 v7 and react-globe.gl. AI layers: Featherless API (Qwen2.5-7B) for structured JSON fact extraction, Google Gemini for translation and optional world-impact forecasting, spaCy for local NER (zero tokens). The entire pipeline runs on ~4,000–6,000 tokens per story — lean by design.

StoryTrace addresses a real problem: media consumers have no tool to see how coverage diverges from the original facts. We make that drift visible, quantified, and interactive.

Note: the demo URL is substituted with the GitHub repository link.

Tech stack

No comments yet

Be the first to comment on this project.