The Problem Nobody Talks About
Picture this: You're trying to find a place to meet up with friends. Someone suggests a coffee shop. It's 8 minutes from their house. It's 45 minutes from yours.
You say yes anyway, because suggesting a different place feels awkward.
This happens all the time — with friends, with remote teams, with family scattered across a city. And the worst part? Most "meet in the middle" suggestions aren't actually in the middle. They're just the geographic midpoint, which completely ignores traffic, transit options, and the fact that roads don't go in straight lines.
I got frustrated enough to build something about it.
Meet Meetle
Meetle is a free web app that finds the fairest meeting spot for any group of people — based on real travel times, not just distance. A Chrome Extension is coming soon so you'll have it one click away in your toolbar.
You add everyone's starting location, choose how each person is traveling (driving, walking, or transit), hit Find Meeting Point, and Meetle does the math across every person simultaneously. It then surfaces the best nearby cafés, restaurants, parks, gyms, or whatever venue type you're looking for — ranked by actual fairness.
No more "it's fine, I don't mind the drive." Now you have data.
How It Actually Works
Under the hood, Meetle uses three Google Maps APIs working together:
Distance Matrix API calculates travel time from every person's location to every candidate venue, simultaneously. This is the core of the fairness scoring — you can't rank venues fairly without knowing everyone's actual travel time to each one.
Places API finds candidate venues near the calculated center point. You can filter by type (coffee, food, parks, gyms, etc.), price level, minimum rating, and whether they're open right now.
Maps JavaScript API renders everything visually — the map, the travel zones (isochrones), and the markers for each suggested venue.
The scoring works two ways and you can toggle between them:
- Fairness mode — minimizes the maximum travel time across the group. Nobody gets stuck with an unreasonable commute.
- Efficiency mode — minimizes the total travel time. Best if you're trying to save the group's collective time, even if it's not perfectly equal.
Features That Actually Matter
A few things that make Meetle more useful than a quick Google Maps search:
Mixed travel modes. One person is driving, another is walking, a third is taking the subway. Meetle handles this — each person picks their own mode and gets their own routing.
Travel zones (isochrones). You can see a visual zone on the map showing what's reachable for everyone within your chosen time limit. If a venue falls outside someone's zone, it gets filtered out automatically.
Arrive Together mode. You pick a meeting time, and Meetle tells each person exactly when they need to leave to arrive simultaneously. No more "I've been here for 20 minutes" texts.
Real traffic. You can set a departure time and Meetle uses Google's live traffic data. A 10am meeting on a Tuesday has very different travel times than a 6pm Friday meeting.
Save groups. Regular team meeting? Save the group once and load it with one click next time.
Share link. After finding a spot, generate a shareable link so everyone in the group can see the results and the map.
The Chrome Extension Story
Here's where it gets technically interesting, and also a little humbling.
I originally built Meetle as a standard web app. When I decided to package it as a Chrome Extension, I hit Chrome's Manifest V3 Content Security Policy wall hard.
MV3 extension pages cannot load remote JavaScript. Google Maps JavaScript API is a remote script. Meaning: if you try to build a Chrome Extension that loads Maps the normal way — <script src="https://maps.googleapis.com/maps/api/js?..."> — it simply won't work inside an extension page.
The workaround I landed on: the extension is a launcher. It lives in your Chrome toolbar and opens the Meetle web app (hosted on GitHub Pages) in a new tab. Since GitHub Pages is a regular web page, not an extension page, it loads Maps just fine.
This also solved the API key problem elegantly. Because the app runs as a regular website, each user can enter their own Google Maps API key directly in the app. It's stored in their browser's localStorage. Google gives every account $200 free credit per month, which comfortably covers thousands of searches. So Meetle is genuinely free to use — the developer (me) doesn't pay anything, and neither does the user unless they're doing unusually high volume.
Getting Started
Use the web app right now:
Go to karthidec.github.io/meetle — no install needed, works in any browser.
Chrome Extension — coming soon!
I'm working on getting it listed on the Chrome Web Store. Once it's live, you'll be able to open Meetle from your toolbar without navigating to the URL. I'll update this post when it's available.
First time you open it, you'll see a setup screen asking for your Google Maps API key. Here's how to get one in about 2 minutes:
- Go to console.cloud.google.com
- Create a new project (name it anything — "Meetle" works)
- Enable these three APIs: Maps JavaScript API, Distance Matrix API, Places API
- Go to Credentials → Create → API Key
- Copy it and paste it into Meetle's setup screen
That's it. You won't be asked again.
What's Next
- Chrome Extension — almost ready, currently going through Chrome Web Store review. Follow this post and I'll update it the moment it's live.
- Google Maps integration — ideally as a sidebar panel that lives inside Google Maps itself, so you don't have to leave the app you're already using
- Calendar integration — let people add the meeting spot to their calendar directly
- More venue categories — coworking spaces, gyms, grocery stores for after-work pickups
If you have ideas or feedback, I'd genuinely love to hear them in the comments. This started as a learning project for Google Maps APIs and turned into something I actually use every week.
The Code
Everything is open source on GitHub: github.com/karthidec/meetle
Stack: vanilla JavaScript, Google Maps APIs (Distance Matrix, Places, JS SDK), Turf.js for isochrone polygon math.
No framework, no build step, no backend. Just a folder of files and three Google Maps API calls that do something genuinely useful together.
If you've ever been the person who always ends up driving the farthest — this one's for you. 🗺️

Top comments (1)
Such a simple yet unique project. Great @karthidec .