Meetline Try it live
Web · Leaflet · OSRMlive

Meet where nobody travels too long.

Add two to eight people, and Meetline finds the cafe, restaurant, mall or park with the shortest longest trip, then draws a road route for each person.

Web · Leaflet · OSRM
meetline · live demolive demo
Meetline screenshot
3platforms: Web, Leaflet, OSRM
MITopen source licence
Why it exists

One place, fair to everyone.

Find the fairest place for two or more people to meet, and the road route for each of them.

Add people by searching an address, using your current location, or tapping the map.

How it works

How the fair point is found

  1. 1

    Centre

    minimax centre of everyone's position (fairest) or geometric median (least total), computed on a local flat projection.

  2. 2

    Search radius

    30 % of the group's spread, clamped to 0.7-6 km.

  3. 3

    Candidates

    matching places from Photon / Nominatim inside that area, de-duplicated (same name within 60 m).

  4. 4

    Times

    one OSRM table request per travel mode, person x candidate.

What's inside

What it does

2 to 8 people

Add people by address search, Use my location, Pick on map, or a right-click or long-press on the map. Drag any marker to move someone.

Drive, cycle or walk

Each person has their own travel mode, and their times come from the matching road profile.

Cafe, restaurant, mall or park

Choose the kind of place, or ask for the exact fair point when you only need a spot on the map.

Fairest or least total

Fairest keeps the longest trip as short as possible. Least total keeps the sum of everyone's trips low.

Real road times

Travel times come from OSRM road routing. If the router cannot be reached, Meetline falls back to straight-line estimates and says so.

Arrival strip

Every ranked place shows one dot per person on a shared time axis, so you can see how balanced it is before reading a number.

A route for each person

Coloured routes on the map, a time per person, and a Route link that opens the same trip in Google Maps.

Share by link

People, modes and the chosen place are encoded in the link. Send it and everyone opens the same plan.

Working today

Before you send the link

Run it yourself

Run it yourself

From the README’s “Run it locally” section. Full options, requirements and troubleshooting are there too.

Open the README
shell
$ git clone https://github.com/juw12/meetline
$ cd meetline
$ python -m http.server 8080
# open http://localhost:8080/?demo
Your data

Where your locations go

  • Locations stay in your browser (local storage) and in links you choose to share.
  • To find places and routes, the app sends coordinates to the public OpenStreetMap services it uses: Photon and Nominatim for search, OSRM for routing, and OpenStreetMap for map tiles.
Good to know

Honest limits.

Straight from the README, so you know what you're getting before you try it.

  • No public transport routing.
  • No live location sharing between phones: each person's position is entered on one device, or sent around with the share link.
  • Venue coverage depends on OpenStreetMap data in your area.
  • Uses free community services with fair-use limits; heavy use should point the app at your own servers.
Under the hood

How it's built.

Built with

Language
HTML/CSSJavaScriptPython
Testing
Automated tests

29 files in the repo · last updated 7 Nov 2026.

Browse the code
Questions

Good questions.

What does it run on?

Web, Leaflet, OSRM. You can try it in the browser with nothing to install.

How do I get it running?

The commands in the “Run it locally” box above come straight from the README. Paste them into a terminal; the README covers options and troubleshooting.

Where does my data go?

Locations stay in your browser (local storage) and in links you choose to share. To find places and routes, the app sends coordinates to the public OpenStreetMap services it uses: Photon and Nominatim for search, OSRM for routing, and OpenStreetMap for map tiles.

What doesn't it do yet?

No public transport routing. No live location sharing between phones: each person's position is entered on one device, or sent around with the share link.

Is it finished?

Not yet: it's marked “live” and still changing. The README always has the current state.

Is it free?

The source is public on GitHub under the MIT licence.

Who made it?

Juwen Lie, an R&D mechanical engineer in Batam, Indonesia, as an independent personal project.

Keep exploring

More from the same workbench.

Nobody stuck with the long trip.

Meet where nobody travels too long.