Projects
Civic ProductAI Automationn8nZero Backend

Verify before you donate, in seconds

¿A dónde va tu plata?Own product2026

After the magnitude-7.4 earthquake that struck Chocó, Colombia in August 2026, dozens of fake donation campaigns started circulating. This tool compares — in the user's own browser, with no server involved — the payment details someone pastes against what humanitarian organizations officially published.

The challenge

The earthquake took seconds.
The scams took minutes.

On August 10, 2026, a magnitude-7.4 earthquake centered in Chocó, Colombia shook the western part of the country. In the following hours, alongside legitimate calls to donate, dozens of fake campaigns began to spread.

The most dangerous one isn't the one that looks obviously fake. It's the one that copies the Red Cross's real message, or a food bank's, and changes a single digit in the account number. On a phone screen, that change is invisible to the naked eye.

So there was one clear rule from day one: "we're a comparator, not a source." The tool doesn't certify that the money will actually arrive — no one can promise that from a browser. It only says whether what someone pasted matches what the organization published.

The solution

Automation with brakes, not blind automation

Two n8n workflows run on their own — reviewing payments every half hour, searching for new organizations every week — but neither can publish a payment detail unless three verification layers agree.

Key features

What the tool includes

01

Four-layer comparator

Paste anything — a bare number, a Colombian Bre-B key, a full WhatsApp message — and the system runs an exact match, Levenshtein distance (to catch accounts with one or two digits swapped), a Colombian tax-ID checksum, and detection of domains impersonating an organization.

LevenshteinTax-ID checksumJavaScript
02

Three verdicts, never a promise

The result is never "this is legitimate." Blue if it matches a published channel, red if it differs by one or two digits from a real account, yellow if it's simply not on the list — which isn't an accusation, just means that campaign isn't known yet.

Ethical designTrust UX
03

Quarantine instead of blind approval

A second workflow scans the press for new organizations every week, but never writes them straight into the official list: they sit in a quarantine queue until a person repeats the same verification process by hand.

n8nClaudeQuarantine
04

Zero backend, a single HTML file

No framework, no build step. The entire comparator runs in the user's own browser — nothing they paste ever leaves their device — and the page loads even on a 2G connection from an old phone.

GitHub PagesPlain HTMLHTTPS
05

Collection points, by city

A separate finder lets people type their city or town and shows the nearest collection points — 81 across roughly 30 cities. Only non-perishable food and hygiene items are requested: no clothing, medicine, or expired products, which just end up overwhelming storage and getting thrown out.

City search81 points
06

Blood and mental health, with an honest label

Blood donation points and free emotional-support hotlines are also searchable by city — but with an honest disclaimer: they came from a collaborative spreadsheet volunteers built from social media, not an official source. That's why the page recommends calling ahead before going, and lets people report a hotline that no longer works.

Community-sourcedMental healthTransparency

The product

What was delivered

11

Organizations verified by hand

Every payment detail was copied straight from the official site, typing the domain in by hand — never from a forward or a shared spreadsheet.

20K

Random accounts tested

A robustness fuzz test with 20,000 random accounts, with under 0.05% false alarms as the documented threshold.

30 min

Between automatic checks

If the workflow ever stops running, the page starts warning people on its own after 24 hours not to trust the data.

Need this level of rigor?

We design and build tools where every technical decision has a documented reason — especially when real people's money is on the line.

Let's talk