A build-in-public note from Ansi. Ansi is a real-time audio layer for cities: earbuds in, walk, and hear true stories about the places around you.
Ask a general-purpose AI to tell you about the building you're standing in front of, and it will answer with total confidence. Often it's right. Sometimes it invents a date, a name, or an entire monument that was never there. On a chat screen that's a shrug. Spoken into your ears as you stand in a real square in a real city, it's something worse: it breaks the one thing a local guide is for — being trusted.
That failure mode is the whole reason Ansi exists, and it set the bar we build against: a wrong fact about a place is a brand incident, not a typo. This is how we hold that line — the fact pipeline, the stack underneath it, and the parts we deliberately refuse to claim yet.
The failure mode we refused to ship
The problem we kept hitting in user interviews wasn't that travel AI was unhelpful — it was that it was shallow and occasionally wrong, with no way to tell which. Wrapper apps inherit the base model's habit of filling gaps with plausible text. For most products that's tolerable. For a product whose entire promise is authentic local knowledge, it's disqualifying.
We also learned how people actually want to receive this. 85% of our beta users preferred voice over typing. They want to walk with their phone in a pocket and their attention on the city, not the screen. That raises the stakes again: spoken audio carries more authority than text on a page, so a hallucination delivered by a calm voice is more convincing and more damaging.
So the design constraint wrote itself: the model can decide how to tell a story, but it must never be the source of what is true about a place.
Rule one: a place-fact is never the model's opinion
The core of the system is a separation most content pipelines don't bother with. We run two scrapers with two trust levels, and they never cross-contaminate:
- A fact scraper that pulls from official and open sources first — mapping data, encyclopedic entities, official venue and tourism information. Every fact it stores comes with its source URL, a timestamp, and a confidence score, and feeds the vector database that powers the live voice answers.
- An inspiration scraper that watches social platforms only for what to make a story about — never for what's true. A trend can suggest a subject; the facts in that story still come exclusively from the fact-scraper sources.
Confidence isn't a vibe — it's scored from source authority, how many independent sources agree, recency, and official confirmation, minus penalties for contradiction and stale data. Anything that lands low-confidence on a cultural, historical, or safety claim doesn't reach a user; it goes to human review first. And the top locations in a city are fact-checked against two or more sources each before they're considered done.
The practical effect: when Ansi tells you something about a place, that claim traces back to a cited source with a confidence score behind it. When we don't have a verified answer, the honest output is "we don't have that yet" — not a confident guess. That is the opposite of how a wrapper behaves, and it's deliberate.
A single claim, end to end
It's easier to see the discipline on one claim. Take an abstract example — say a candidate fact about when a particular landmark was built. Here's the path it travels before a voice ever says it:
- Origin. The fact scraper picks it up from an official or open source first — not from a social post, and not from the model's own memory. The raw claim is stored with its source URL and the time it was fetched.
- Cross-check. A single source isn't enough for anything a user hears. The claim is checked against at least one more independent source; agreement raises confidence, contradiction lowers it. For the most-visited locations, the bar is two or more sources, fact-checked, before the entry is considered done.
- Score. The confidence number is computed from source authority, how many sources agree, recency, and whether there's official confirmation — minus penalties for contradiction or stale data.
- Gate. If the claim is low-confidence and it's cultural, historical, or safety-related, it does not ship. It routes to a human first.
- Tell. Only after all of that does the model get involved — and its job is narrow: turn a verified, cited fact into a good thirty seconds of audio. It chooses the telling, never the truth.
A general-purpose model collapses all five steps into one confident sentence. We pulled them apart on purpose, because the gap between step four and step five is exactly where trust is won or lost.
The stack, briefly
The accuracy discipline above is the point; the stack is what makes it affordable and fast enough to run in real time:
- Fine-tuned open models for location and audio context, rather than raw general-purpose APIs — tuned for this narrow job of place-grounded storytelling.
- MCP orchestration that chains the pieces of a single answer — real-time location, image recognition, and story retrieval — into one response instead of a single prompt guessing at all of it.
- Edge inference so the core experience runs on the device, which is what makes genuine offline possible.
None of these is exotic on its own. The combination is the part a wrapper can copy the interface of but not the substance of: the UI is easy, the cited data moat and the tuned-model economics are not.
Offline is the honest part
Offline mode is the feature travelers ask for most, and it's the one that's genuinely hard to fake. Cached models plus the on-device story database mean the guide keeps working with 0% data usage when you're on a foreign SIM with no signal in a stone-walled old town.
It also forces honesty into the architecture. You can't quietly call a big cloud model to paper over a gap when there's no connection. If a fact isn't on the device, the device doesn't have it — so the only way offline works well is to have done the grounding properly beforehand. The constraint that makes offline hard is the same constraint that keeps us accurate.
What we deliberately don't claim yet
The fastest way to lose the trust we're trying to build would be to oversell what's live. So, plainly:
- Shipped today: real-time voice question-and-answer, location-triggered audio stories, offline mode, and light itinerary support.
- In beta: Snap-to-Ask — photograph a building and get its story.
- Roadmap, not live: full multi-day trip planning, group mode, a sub-500MB offline model, and additional languages (Spanish, German, French).
"AI plans your entire trip" is a demo most products can't actually back up. Ours does focused, location-aware itinerary help now, and we'd rather say exactly where that ends than imply more. Early users churn hardest on a promise that breaks. Underclaiming is cheaper than a refund and a one-star review.
Why one city, fully, before many
There's a strategy version of the same principle. Most map-style apps add cities to look big. We're taking one city — Baku — to full depth before opening a second. "Full depth" has a concrete bar: 100+ locations indexed and confidence-scored, the top ones fact-checked against multiple sources, curated stories and walking routes that are actually good, a real-time layer for events and weather, and a local content brand with a real following.
A thin presence in ten cities sells nothing, and a single wrong local fact in any of them is a brand incident. Trust is earned per city. So we prove the complete build once, end to end, and only then template it. It's slower on the city counter and far stronger on the only metric that matters here.
Where we're honest about what this is
To keep the categories clean:
- Fact: the accuracy architecture above — two-trust-level pipeline, cited and confidence-scored facts, multi-source checks, offline on-device data — is how the product is built today.
- Roadmap: full planning, group mode, the smaller offline model, and more languages are planned, not shipped.
- Hypothesis we're testing in public: that being this disciplined about accuracy — and saying so out loud — is itself how you earn the audience, not a tax on growth.
If that last one resonates, follow the Baku build. The next posts open up the stack and the fact pipeline in more detail, and you can hear a real sample of what grounded, hands-free city audio actually sounds like.
Building Ansi. One city, fully, before many.