For the uninitiated, a geocoder is maps-tech jargon for a search engine for addresses and points of interest.
Geocoders are expensive to run. Like, really expensive. Like, $100+/month per instance expensive unless you go for a budget provider. I've been poking at this problem for about a month now and I think I've come up with something kind of cool. I'm calling it Airmail. Airmail's unique feature is that it can query against a remote index, e.g. on object storage or on a static site somewhere. This, along with low memory requirements mean it's about 10x cheaper to run an Airmail instance than anything else in this space that I'm aware of. It does great on 512MB of RAM and doesn't require any storage other than the root disk and remote index. So storage costs stay fixed as you scale horizontally. Pretty neat.
Demo here: https://airmail.rs/#demo-section
Writeup: https://blog.ellenhp.me/host-a-planet-scale-geocoder-for-10-...
Repository: https://github.com/ellenhp/airmail