Blog

Browse Geocoding Tutorials, Guides & Updates

Designing a Batch Geocoding Queue: SQS, BullMQ, or Custom

Designing a Batch Geocoding Queue: SQS, BullMQ, or Custom
A geocoding pipeline that handles a million addresses on a Tuesday morning is not a script with a for loop. It is a queue, a pool of workers, a retry policy, a dead-letter sink, and a status table. Get the shape right and you handle ten million the same way you handle ten thousand. Get it wrong and you spend the next six months patching edge cases that all share the same root cause: the queue wa...

p99 Latency in Geocoding: Why Your Average Lies

p99 Latency in Geocoding: Why Your Average Lies
A geocoding pipeline serving 95% of requests from cache in 5ms and the remaining 5% from upstream in 4 seconds has a mean latency of about 205ms. Put that on a dashboard and it sounds healthy. It is also nearly useless. The number tells you nothing about what 1 in 20 of your users actually experiences — which, in this example, is two orders of magnitude worse than the average suggests. The number...

Concurrency Tuning for Geocoding: Finding Your Sweet Spot

Concurrency Tuning for Geocoding: Finding Your Sweet Spot
A geocoding pipeline running at concurrency 1 wastes throughput. The same pipeline running at concurrency 512 wastes money — it eats 429s, amplifies tail latency, and starves its own connection pool. The sweet spot sits between those two failure modes, and most teams either guess at it (usually too low) or ramp it until something breaks (usually too high). Neither approach is necessary. Little's L...

Geocoding Confidence Scores Explained: When to Trust, When to Reject

Geocoding Confidence Scores Explained: When to Trust, When to Reject
A regional delivery company once shipped 412 packages to coordinates roughly 800 metres from the actual front door. Some landed at the wrong end of a rural road, a few at a postcode centroid in the middle of a field, one in a river. The post-mortem was short: their pipeline accepted every result the geocoder returned, and the geocoder had been quietly stamping accuracy_score: 0.4 on roughly 6% o...

PHP Geocoding API Tutorial: Guzzle Pools and Production Patterns

PHP Geocoding API Tutorial: Guzzle Pools and Production Patterns
PHP runs more geocoding workloads than the conference talks suggest. Magento and Shopware stores normalising checkout addresses, Laravel listing aggregators ingesting MLS feeds, WordPress directories with a million POIs, marketing-automation tools that want a lat,lng next to every CRM record. The language is everywhere this work actually happens, and the right tool for the HTTP layer has not cha...

Go Geocoding Tutorial: Goroutines, Bounded Concurrency, and Backoff

Go Geocoding Tutorial: Goroutines, Bounded Concurrency, and Backoff
Go is the language to reach for when you want concurrency without async/await ceremony. Goroutines are 2 KB stacks, channels are typed pipes, and the standard library net/http is good enough for production from day one. There is no event loop to learn, no await keyword to scatter through every function, and no colored-function problem. You write straight-line code, and you fan it out with go...

Geocoding UK Addresses: Postcodes, UPRN, and Edge Cases

Geocoding UK Addresses: Postcodes, UPRN, and Edge Cases
UK addresses look superficially similar to US addresses — house number, street, town, postcode — and that surface similarity is exactly what wrecks pipelines built by teams whose default mental model was forged in North America. The UK does not work like the US. The postcode is not a coarse zone; for a meaningful slice of the country it identifies a single building. People search by postcode alone...

HIPAA-Compliant Geocoding: no_record Patterns and BAA Considerations

HIPAA-Compliant Geocoding: no_record Patterns and BAA Considerations
A patient's home address, on its own, is just a string. Tied to a name, a diagnosis, a member ID, or any other identifier of an individual receiving care, it becomes Protected Health Information under HIPAA. Geocoding that string — turning it into a latitude and longitude — passes it through a third-party processor. That is the part most engineering teams underweight, and it is the part compliance...

How to Cache Geocoding Results: TTL, Keys, and 90% Cost Reduction

How to Cache Geocoding Results: TTL, Keys, and 90% Cost Reduction
A million geocoding lookups per month at $0.50 per thousand is $500. With a 90% cache hit rate, that bill drops to $50. With a 95% hit rate it drops to $25. Caching is not a nice-to-have at the bottom of a performance checklist — it is the single largest lever in geocoding economics, and most teams leave it half-pulled. This post is the practical version: cache key design, TTL strategies, the actu...

Benchmarking Geocoding APIs: Methodology, Pitfalls, and Honest Numbers

Benchmarking Geocoding APIs: Methodology, Pitfalls, and Honest Numbers
"I ran 1,000 addresses through 5 geocoders, here's the winner" is, almost without exception, the wrong methodology. The post that follows will show beautiful charts. The numbers will be precise to two decimals. The conclusion will be confident. And it will be wrong, because at least three load-bearing assumptions in the experiment were never examined. The three assumptions, in order of how much da...