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 

  1. Transparency reduces conflict 


Product Goal: 

To help groups make a fair decision faster and with less negotiation 


Success metrics: 

  1. Reduce back and forth messages by 50%

  2. reduce perceived unfairness by 70% [self-reported]

  3. provide meeting suggestions in <5 seconds 

  4. 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 

  1. Compute fair travel-time zones

  2. recommend meeting places 

  3. show transparent fairness metrics 


Algorithm: 

  1. Input locations 

  2. Compute geometric center [centroid- avg of all latitudes and longitudes] 

  3. Generate candidate location search area around centroid with radius of 5 km- call Places API to find, say, cafes near <centroid> 

  4. 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

  5. Rank and filter based on constraints such as max time 

  6. 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 

  1. Participant locations 

  2. Travel mode 

  3. Place type 

  4. Filters- max travel time


Having a better fairness heuristic- 

  1. minimise max travel time 

  2. minimise total time 

  3. enforce deviation limit