The problem
Most fact-checking tools give you a verdict without explaining the reasoning. That's not useful long-term — users get an answer but no framework for thinking about the next headline themselves.
What I built
Reality Check runs four independent checks on any headline using Claude with live web search:
- Source Check — who created this, is the source credible?
- Evidence Check — what evidence supports the claim, can it be verified?
- Context Check — is this recent and in its original context?
- Emotional Check — is the framing designed to manipulate rather than inform?
Each check returns a verdict and reasoning. An overall credibility score from 0–100 summarizes the full picture.
Architecture
Fully client-side. No backend server. No database. No serverless functions operated by me.
BYOK — users supply their own Anthropic API key. It lives only in React component state, never written to localStorage or cookies. Cleared on page close. API calls go browser → api.anthropic.com directly using the anthropic-dangerous-direct-browser-access header.
Stack: React 18 + Vite, Tailwind CSS, claude-sonnet-4-6 with the web_search_20250305 tool (capped at 2 searches per analysis).
Live example
Tested on: "Senate Passes Resolution Directing Trump to End Hostilities With Iran"
Score: 88/100 — Likely Reliable. Source and Evidence both Looks OK (confirmed by NBC, CBS, NPR, PBS, ABC, AP). Context and Emotional flagged as Use Caution — the word "Directs" implies legal compulsion but the resolution is actually symbolic and non-binding. Concept Spotlight: Clickbait.
Technically accurate. Deliberately misleading framing. The tool catches the difference.
Links
- Live: https://realitycheck-project.vercel.app
- Source: https://github.com/Virerra/reality-check
- License: MIT
Top comments (2)
"No backend" is a bold and interesting
Thanks, Frank! Bold was intentional — most tools in this space route everything through a backend 'for convenience', but that convenience comes at the cost of your privacy. When the tool is about evaluating truth and credibility, having zero visibility into user activity feels like a non-negotiable. The BYOK model makes it architecturally verifiable — anyone can read the source and confirm the developer sees nothing. Glad it stood out!