Verify News
An AI news checker that explains its verdict, and goes where people read: a bookmarklet, the phone share sheet and YouTube links.Live and open source.
- Role
- Designer and developer
The problem
A fake or real label tells you nothing about why, and people meet doubtful claims inside feeds and long posts, not on a fact-checking website.
I wanted to move past a static Figma prototype and build something that works the way a reader does.
The calls
Explain the verdict
A Next.js backend scrapes the article and checks its claims, with Llama 3 and the Brave Search API bringing in real-time sources.
To curb hallucinations I added strict rules: the system extracts each article's publication date for temporal context.
Start from one box
The News view is one box: paste a headline, a claim or a link, with claims to try.
The app returns a trust score and a forensic analysis, so the reader sees what was checked.
Design for limits
The interface shifts into a masonry grid depending on how much evidence comes back, so dense results stay readable.
Technical limits became features: a custom state handles API limits, and pasting a new link clears the screen with zero clicks.
Meet readers where they read
Copying a link into a website is friction most people will not repeat.
A Tools page offers two shortcuts so nobody has to paste by hand:
- On a computer: a bookmarklet, "Verify this page", that checks the page you are on, or just the text you selected.
- On a phone: add the app to the home screen on Android and it appears in the share sheet of other apps. iPhone does not support this yet, so the page offers a fallback: copy the link or upload a screenshot.
Beyond text
A Videos section takes a pasted YouTube link and runs a deep dive on it, because many doubtful claims arrive as video.
Results
- A live, full-stack RAG product, shipped by one person and open source on GitHub
- Checks articles, headlines, selected text, screenshots and YouTube links
- Works where people read: bookmarklet on desktop, share sheet on Android
- Light and dark themes and a custom state for API limits
What I learned
The constraints were the design brief.
API limits, platform limits and the model's own mistakes each became a visible, honest part of the interface, and meeting readers inside their feeds mattered more than polishing the paste box.
