FYI (Fact-check Your Information) is an interactive workbench for studying how people verify data-driven claims in news articles. Users read articles, identify quantitative claims, explore underlying datasets through AI-assisted tools and visualizations, and submit structured verdicts — while the system logs rich interaction traces for research analysis.
This codebase comprises a Next.js web application and a Vite-based Chrome extension, both written in TypeScript.
- Node.js 18+
- npm
npm installFYI has no key of its own. The AI features stay off until you supply one, which you enter in the app under API key. It is stored in your browser and sent with each request; the server never keeps it.
OpenRouter is the default, and any OpenAI-compatible endpoint works.
npm run devOpen http://localhost:3000 to access the workbench.
npm run build:extension- Framework: Next.js 16, React 19, TypeScript
- UI: Tailwind CSS 4, Radix UI / shadcn
- State: Zustand 5
- Visualization: Vega-Lite 6, CompassQL
- AI: OpenRouter (Llama, GPT-4o, Perplexity Sonar)
src/
app/ # Next.js App Router pages and API routes
components/ # React components
article/ # Article viewer and claim highlighting
claim/ # Claim list, verdict forms, classification
tool-ai-chat/ # Chat UI with tool-augmented conversations
tool-table/ # Dataset inspection tables
tool-vis-builder/ # Visual encoding builder (Vega-Lite)
lib/ # Utilities, AI clients, tracking, data loaders
stores/ # Zustand state stores
types/ # TypeScript type definitions
extension/ # Chrome extension for inline claim verification
FYI was created by Nguyen-Truong Thinh* (HKUST), Yuxuan Du* (Independent Contributor), Phongsakon Mark Konrad (University of Southern Denmark), and Arpit Narechania (HKUST).
* Equal contribution.
If you have any questions, feel free to open an issue or contact Nguyen-Truong Thinh.
MIT
