DEV Community

Cover image for I built a free, client-side fact-checker using Claude — BYOK, no backend, four structured checks
Sean
Sean

Posted on

I built a free, client-side fact-checker using Claude — BYOK, no backend, four structured checks

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

Top comments (2)

Collapse
 
frank_signorini profile image
Frank

"No backend" is a bold and interesting

Collapse
 
virerra profile image
Sean

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!