<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Alexander</title>
    <description>The latest articles on Forem by Alexander (@ayatskov).</description>
    <link>https://forem.com/ayatskov</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3876242%2Ff764ce20-d6be-4900-9be2-a40b6264f4d8.png</url>
      <title>Forem: Alexander</title>
      <link>https://forem.com/ayatskov</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/ayatskov"/>
    <language>en</language>
    <item>
      <title>I tried to fix loneliness. I ended up building a Places API 200x cheaper than Google.</title>
      <dc:creator>Alexander</dc:creator>
      <pubDate>Mon, 13 Apr 2026 08:48:07 +0000</pubDate>
      <link>https://forem.com/ayatskov/i-tried-to-fix-loneliness-i-ended-up-building-a-places-api-200x-cheaper-than-google-3i1d</link>
      <guid>https://forem.com/ayatskov/i-tried-to-fix-loneliness-i-ended-up-building-a-places-api-200x-cheaper-than-google-3i1d</guid>
      <description>&lt;p&gt;A couple of years ago, a friend came up with an idea that I still think is worth pursuing.&lt;/p&gt;

&lt;p&gt;Moving to a new city is hard. Not because of logistics — but because of the quiet. You have a great coffee shop downstairs, a pool table two blocks away, and zero people to share it with. Dating apps exist. Friend apps don't, not really.&lt;/p&gt;

&lt;p&gt;So the three of us built one. The pitch: open the app, see people nearby in cafes and bars who are openly up for a chat, a language exchange, a game of pool. No awkward matching, no swiping — just proximity and intent. A modern Foursquare, but for human connection instead of check-ins.&lt;/p&gt;

&lt;p&gt;We built it. We shipped it. And then we completely failed at marketing. The product worked. The growth didn't. Classic indie story.&lt;/p&gt;




&lt;h2&gt;
  
  
  The technical leftover
&lt;/h2&gt;

&lt;p&gt;One thing stuck with me from that project: the data layer.&lt;/p&gt;

&lt;p&gt;Early on we used OpenStreetMap. It's incredible for what it is — but the POI data is inconsistent, incomplete in non-English speaking regions, and hard to work with at scale. Midway through we switched to &lt;strong&gt;Overture Maps&lt;/strong&gt; — an open dataset backed by Meta, Microsoft, Amazon, and TomTom — and never looked back.&lt;/p&gt;

&lt;p&gt;After the startup wound down, I kept thinking about Overture. The dataset had grown to &lt;strong&gt;80+ million places worldwide&lt;/strong&gt;. The license — CDLA Permissive 2.0 — has zero commercial restrictions. And yet almost nobody was serving it through a clean, affordable API.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Google Places problem
&lt;/h2&gt;

&lt;p&gt;If you've ever built a location-based feature, you know the pain.&lt;/p&gt;

&lt;p&gt;Google Places API charges &lt;strong&gt;$17 per 1,000 requests&lt;/strong&gt; for Place Details. Nearby Search is $32 per 1,000. For a startup running 500,000 requests a month, that's $8,500–$16,000. Monthly. Before you've found product-market fit.&lt;/p&gt;

&lt;p&gt;The result? Developers either cripple their apps with aggressive caching, avoid the feature entirely, or burn through their Google credit and get an unexpected invoice.&lt;/p&gt;

&lt;p&gt;There had to be a better way.&lt;/p&gt;




&lt;h2&gt;
  
  
  What I built
&lt;/h2&gt;

&lt;p&gt;I spent a few weeks building a REST API on top of the Overture Places dataset, written in Rust with Axum and PostGIS on the backend.&lt;/p&gt;

&lt;p&gt;Two endpoints:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Nearby search&lt;/strong&gt; — find places within a radius, optionally filtered by category:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight http"&gt;&lt;code&gt;&lt;span class="err"&gt;GET /api/places/nearby?lat=40.71&amp;amp;lon=-74.00&amp;amp;radius=500&amp;amp;category=restaurant
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Search by name or brand&lt;/strong&gt; — find all locations of a specific business:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight http"&gt;&lt;code&gt;&lt;span class="err"&gt;GET /api/places/search?lat=40.71&amp;amp;lon=-74.00&amp;amp;radius=2000&amp;amp;q=starbucks
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This one searches across both name and brand fields simultaneously, so you don't have to know how Overture classifies a particular chain.&lt;/p&gt;

&lt;p&gt;Each response includes coordinates, name, category, address, operating status, phones, websites, social links, and emails.&lt;/p&gt;




&lt;h2&gt;
  
  
  The numbers
&lt;/h2&gt;

&lt;p&gt;Google Places charges $17 per 1,000 requests for Place Details, and $32 for Nearby Search. Commercial use comes with restrictions, and overage bills are a common surprise.&lt;/p&gt;

&lt;p&gt;This API starts at $0.10 per 1,000 requests, Nearby Search is included, the license has zero commercial restrictions, and overages are soft — $0.05 per 1,000 if you exceed your plan.&lt;/p&gt;

&lt;p&gt;Plans on RapidAPI:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Basic&lt;/strong&gt; — free, 5,000 requests/month&lt;br&gt;
&lt;strong&gt;Pro&lt;/strong&gt; — $10/month, 100,000 requests&lt;br&gt;
&lt;strong&gt;Ultra&lt;/strong&gt; — $30/month, 500,000 requests&lt;br&gt;
&lt;strong&gt;Mega&lt;/strong&gt; — $80/month, 2,000,000 requests&lt;/p&gt;

&lt;p&gt;The Pro plan at $10/month for 100,000 requests — Google would charge $1,700 for the same volume.&lt;/p&gt;




&lt;h2&gt;
  
  
  The honest part
&lt;/h2&gt;

&lt;p&gt;The data isn't perfect. Overture is updated monthly, not in real-time. In some regions — especially smaller cities outside Western Europe and North America — coverage is thinner than Google's.&lt;/p&gt;

&lt;p&gt;If you need reviews, photos, real-time open/closed status, or Google's autocomplete quality — this isn't a replacement. It's an alternative for the use cases where you just need POI data and coordinates, and you don't want to pay Google's prices to get them.&lt;/p&gt;




&lt;h2&gt;
  
  
  What's next
&lt;/h2&gt;

&lt;p&gt;The API started as a side project for the social app. But honestly, I'm not done with that original idea either. The loneliness problem is real, and I still think proximity-based social has legs — just needs a different approach to growth than what we tried.&lt;/p&gt;

&lt;p&gt;For now, the Places API is live on &lt;a href="https://rapidapi.com/ayatskov/api/overture-places-api1" rel="noopener noreferrer"&gt;RapidAPI&lt;/a&gt;. Free tier available.&lt;/p&gt;

&lt;p&gt;And if you're building something in the location space and want to talk — I'm always up for that conversation.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Built solo, with Rust, PostGIS, and too much coffee.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>rust</category>
      <category>postgres</category>
      <category>geolocation</category>
    </item>
  </channel>
</rss>
