Midpoint
Tools used:
Figma
Version:
V1
What is Midpoint:
A bias-free way to decide where to meet. Helping groups find neutral meeting spots using real-time travel data and fairness algorithms.
What is the problem, why it matters and what did I design:
People struggle to choose a meeting spot that feels fair for everyone. Existing map tools show directions but dont solve fairness. I designed this feature that computes and suggests an unbiased, travel time-aware, neutral meeting point using google maps APIs and fairness logic.
Context and opportunity:
Social coordination is one of the most common real-world use cases of Maps. Yet, there is no tool that solves the ‘Where should we meet?’ problem holistically. Competitors like Whatshalfway and MeetWays have limitations on user-defined fairness logic and criteria-filter [maybe even number of participants]. This creates a product gap.
Research insights:
From speaking to 8 friends and co-workers chosen based on three personality types [initiative-taker, passive one, busy one], these are the following insights:
`1. Travel time matters more than distance
Transparency reduces conflict
Product Goal:
To help groups make a fair decision faster and with less negotiation
Success metrics:
Reduce back and forth messages by 50%
reduce perceived unfairness by 70% [self-reported]
provide meeting suggestions in <5 seconds
Balanced travel time difference +/- 10 min
Solution concept
The problem is not choosing a spot in the map but it’s more about fairness.
So, the suggested algorithm is this:
`1. Collect all participant locations
Compute fair travel-time zones
recommend meeting places
show transparent fairness metrics
Algorithm:
Input locations
Compute geometric center [centroid- avg of all latitudes and longitudes]
Generate candidate location search area around centroid with radius of 5 km- call Places API to find, say, cafes near <centroid>
for each candidate location, call places API to get travel time time for each participant. Compute max time and avg time. Compute fairness score [max time [location] * 0.3 + avg time [location]*0.5
Rank and filter based on constraints such as max time
Sort by score ascending. Return top 5-10.
User Flow:
Midpoint -> Add participants/Invite friends to add -> generate fair zone -> explore suggested places with fairness metrics -> share with group -> Lock in a spot!
The current figma prototype is a rough V1 that is designed within Google Maps as a built-in feature, inputs user locations and generates a centroid. For V2, this will be refined to include:
Inputs
Participant locations
Travel mode
Place type
Filters- max travel time
Having a better fairness heuristic-
minimise max travel time
minimise total time
enforce deviation limit