The Problem
Public figures contradict themselves constantly — politicians make promises they later reverse, journalists publish claims that conflict with their earlier reporting, institutions issue statements that contradict their own records. These contradictions are often noticed, but rarely documented in a way that is persistent, linkable, or visible to the next reader of the same article.
A tweet calling out a contradiction disappears in the feed. A fact-check on a separate website requires the reader to already know it exists. The original source — the article, the quote, the statement — sits unchanged, with no trace of the contradiction embedded in it.
How It Works
1. Install the extension
Load the extension into Chrome from the GitHub repo. It activates on every webpage — no configuration required.
2. Select text on any news page
Highlight a word, phrase, or sentence — a politician's claim, a statistic, a promise. A COMMENT button appears on the page.
3. Attach a comment
Click COMMENT and type your annotation: a link to contradicting evidence, a prior statement, a correction, or context the article omits.
4. It's visible to everyone
The annotation is saved to a shared database. Any other visitor with the extension who loads the same URL sees the text highlighted in orange. Clicking it shows your comment. The original article now carries the record.
Architecture
Technical designThe extension uses the browser's Range API to record the exact position of selected text as a DOM path — a sequence of child indices from the document body to the selected node. This path is stored alongside the page URL and the comment, so the highlight can be reconstructed precisely when the page is next loaded.
The backend is a Node.js/Express API backed by MongoDB Atlas. Two endpoints handle everything: one to save an annotation, one to fetch all annotations for a given URL. The API is deployed on Railway and is open — anyone with the extension can read and write annotations on any page.
Stack: Chrome Extension (Manifest V2) · Vanilla JS · Node.js · Express · Mongoose · MongoDB Atlas · Railway
The Idea
"Accountability needs infrastructure — not just the claim that a politician contradicted themselves, but a persistent, linkable annotation anyone can see on the original source."
The Social Evidence started as a website for cataloguing inconsistencies between what public figures say and what the evidence shows. It converged into a browser extension because the most useful place to surface a contradiction is on the original text — not on a separate fact-checking site the reader will never find.
The design is deliberately minimal: no accounts, no voting, no algorithmic ranking. Just annotations on URLs, visible to everyone who looks.
Try It
The extension is not yet on the Chrome Web Store. To install it manually:
- Clone or download the repo from GitHub
- Open Chrome and go to
chrome://extensions - Enable Developer mode (top-right toggle)
- Click Load unpacked and select the
extension/folder - Visit any news page — select text and click COMMENT