Fabian de la Fuente

Weekly · Vancouver, BC

39,402 questions, zero made-up answers: the eight challenges of building Ultimate Passport Guide

39,402 passport-to-destination pairs in 6 languages, without a single invented fact. The eight challenges of building Ultimate Passport Guide with an AI team, and how we solved each one.

Fabián de la Fuente ·

Hand-drawn sketch: three boxy robots wearing ties work at night at a wooden desk covered in passports, a globe and papers; one reads two documents, one types on a laptop under a sign reading 429 while small robots wait outside the window by an hourglass, and one holds a puppy with a travel tag. A smiling man in a cardigan with a coffee mug watches from the doorway.

When I asked my AI team for a visa guide covering every passport in the world, I thought the challenge would be technical. I was wrong. The challenge was honesty.

A few weeks ago I wrote about what it cost and how much code sits behind ultimatepassportguide.com. Today I want to tell a different story: what went wrong, in order, and how we fixed it. If you're thinking of putting bots to work on something serious, this list might save you a few scares.

1. The size of the problem

Do the math. 199 passports times 198 destinations gives 39,402 passport-and-country pairs, each published in 6 languages. Each one is a question someone will ask for real, with their suitcase packed: "Do I need a visa?"

And here's the trap. A bot can answer all 39,402 in an afternoon, with perfect spelling. Making things up is the easiest thing an AI does. So the first rule was the simplest and the most expensive: no fact can be invented. If we don't know, we say we don't know.

How we solved it: every verified answer shows the date, the authority that says it and a literal quote from its page. When we only have one official source for a visa rule, the page still says "No verified data" and shows a separate "Single official source (1 of 2)" block with what that source says. As of November 2, all 39,402 pairs match across the 6 languages, with 0 discrepancies, and 2,418 pages pass the site's quality control. That same day we added structured data (schema.org) to the 2,412 inner pages, so search engines and AI assistants understand what each page is.

2. The hard decision: what counts as "verified"

One source isn't enough. Government pages get things wrong, go out of date, or contradict each other. The rule was that nothing gets marked "verified" without two independent extractions from the official source and a live official page backing it up.

That slowed us down. On October 17, the rules verified this way went from 29,107 to 29,395, or 74.6%. The rest don't pretend to be verified: they're still being checked, and if there's only one source, the site says so.

The rule also evolved. For pets, demanding two sources meant asking for something almost no country has: we didn't find a single destination with two different official publishers. On October 30 I changed the standard for that section: "verified" means one official source from the destination country itself, read directly, with a literal quote. "Two official sources" is a separate, higher level, and no country reaches it yet. Anything that doesn't qualify, like a copy on a third-party site, goes back to "pending." I'd rather have a site that admits what it doesn't know than one that sounds confident and leaves you stuck at the boarding gate.

3. What broke

Sources that contradict each other. For travelers from Macao going to the United Arab Emirates, the UAE foreign ministry says one thing and Macao's immigration office says another. Who's right? We don't know yet. So the site shows the strictest requirement, cites both sources and we keep checking. A person resolves the conflict, not a machine in a hurry.

Governments that block bots. Many official pages shut the door on anything that looks like a robot. Which, to be fair, is exactly what we are. The fix was to go in with a real browser, the way a person would. That's how we recovered 44 destinations with a live official page, including South Korea, New Zealand and Portugal.

AI crawlers that ate our quota. This one made me laugh, later. The site runs on Cloudflare's free plan, which allows 100,000 requests a day. One day it nearly ran out, and not because of visitors: GPTBot and ClaudeBot, the crawlers of two AI companies, were reading page after page. Bots fighting bots. We answered "come back later" (a 429 code) and only let them in 20 minutes of every hour. Requests dropped 90%, and we didn't have to pay for a bigger plan. Google and humans still get in as usual.

4. The passport drawings

A passport guide without passports looks odd. But you can't just use any photo. We started with our own illustrations and public-domain or openly licensed coats of arms from Wikimedia. Then we replaced them, country by country, with real licensed images where they existed.

A research bot checked whether each cover was still current, because countries redesign their passports too (Chile in December 2024, Ireland in June 2026). And I flagged the wrong ones by hand, like Canada, Costa Rica and Djibouti. Lesson: some things a human eye spots in two seconds and a machine never spots at all.

5. Gemini as a cheap assistant

Not every job needs the most expensive model. For text work on public data we used Gemini as an assistant, capped at 25 dollars a month and with the lightest model by default. Translating a blog post from Spanish to English cost half a cent and took 4.2 seconds.

And we got something better than savings: in a test comparing 20 pairs into the UAE, Gemini found exactly the Macao discrepancy I described above. A cheap assistant that finds mistakes is worth more than an expensive one that doesn't look for them.

6. "Traveling with a pet"

One day I asked for something that wasn't in the plan: a checkbox at the top right that says "Traveling with a pet." Tick it, and the requirements for your dog or cat appear: microchip, rabies vaccine and antibody test, vet certificate, import permit and quarantine, each with its official link. It went live on October 22 with 31 destinations. As of November 2, out of 199 destinations, 138 show requirements with an official source, 22 say plainly that we couldn't find an official source, and 39 are still pending verification. None are guessed. Anyone who has traveled with a dog knows the dog's paperwork is harder than yours.

7. Bots that verify, and humans who verify the bots

The checker needs checking too. That's why we created the "Turk" project. Someone we trust opens the government's official page and captures it. The bot downloads it again on its own and compares. If they don't match, the case goes to a second review.

The rules with humans are simple: one question per message, a fixed schedule, and never ask for passwords or money. Sounds obvious. It isn't, until you have ten bots wanting to ask things at the same time.

8. The principle: receipts, not memory

If I had to sum it all up in one line, it would be this: receipts, not memory.

Bots don't remember what they did yesterday the way you do. If it wasn't written down, with its source and date, it didn't happen. That's why every answer on the site shows where it came from and when it was read. And that's why, when there's no receipt, we say "unknown." Take the project's total API spend: there are no receipts, so I won't give you a pretty number.

From the first file, on October 15 at 10:30 p.m., to the planned launch, about 97.5 hours went by. In that time the bots wrote about 7,229 lines of code and built 27,894 entry rules taken from official sources. What makes me proudest isn't those numbers. It's that the site doesn't pretend to know what it doesn't.

That's the part people miss when they talk about AI speed. Speed comes on its own. Honesty has to be designed.


The site: ultimatepassportguide.com

If you want to learn how I run my AI team, download my free book: fabiandelafuente.com/university/

← Blog