Turn on geocoding without turning it into a project
You need to turn an address into a coordinate. That's the whole ask. The problem is that the two ways to get there both start as a project.
The implementation around the model — compute, storage formats, runtimes, and tooling.
View All TagsYou need to turn an address into a coordinate. That's the whole ask. The problem is that the two ways to get there both start as a project.
The whole geocoder runs in your browser. You type an address, you get a rooftop coordinate, and no server ever sees your query — the gazetteer it resolves against is a SQLite database sitting on a CDN, and the page reads it with HTTP range requests, a few kilobytes at a time. It's a lovely trick. We were proud of it. Then we counted the requests it took to find a single city, and the number was 243.
Open the demo, open your browser's network tab, and type an address. It resolves to a rooftop coordinate: 1600 Pennsylvania Ave lands on the actual building, within about ten meters. The network tab shows no request carrying your address. The parser ran in the page. The gazetteer it resolved against is a file on a CDN, and the page read it a few kilobytes at a time. The query stayed on your machine.
Our training corpus is built from source. The build combines hundreds of millions of address
We pulled Who's On First data for 7 countries, trained a new tokenizer on 2.19M multi-script place names, and eliminated CJK byte-fallback entirely.
The v0.5.3 model now runs with a 9 MB finite-state transducer in the browser — 94K US admin places as an emission prior for the neural classifier.
A one-line import change fixed a WebGPU inference bug that took hours to diagnose. The root cause: onnxruntime-web ships two WebGPU backends, and the default one is broken.