Inspiration

Covid has been around for a long time now and it has become quite difficult to meet up with friends already. But what makes it even more difficult is that everyone lives so far away! It's nearly impossible to find a "central location" that is convenient for everyone to meet up. And even if it is possible, it is definitely impossible to convince everyone that it is in fact a fair location. We're sure you have experienced this too. And this is where we come in. We use an algorithm to find the best place for you to meet your friends and we guarantee that it is the most convenient location for all of you. No more fights regarding where to meet. Only fights about where to eat once you get there.

What it does

The app allows users to enter the nearest MRT to their houses and then runs an algorithm to find 3 optimal locations to meet.

It ensures that everyone travels nearly the same amount and the total travelling time is minimised. It also provides a system for users to enter their preference - whether they want to meet up for going to a movie, or studying at a library or even going to a museum - and it takes this into account while finding the best MRTs to meet up.

In short, it solves all disputes about where to meet up in an unbiased manner and keeps friendships intact <3 :)

How we built it

We used ReactJS for the frontend and Flask for the backend. The actual algorithm that finds the optimal location is written in Python. It first uses Dijkstra's algorithm to find the shortest path from the input locations to all other locations. Then, it tests whether each person is travelling nearly the same distance to meet and whether the total distance travelled can be lowered. When users enter their preferences (say Library), we check whether the recommended MRT has a library near it. If not, we find the next optimal MRT that does have what the user is looking for.

Challenges we ran into

  1. Couldn't find an existing database with a graph of the MRT system so we had to build one entirely from scratch.
  2. We didn't know some functionalities of the languages we were using since we were first-timers to webdev. So, we had to learn on the go.
  3. Since the hackathon was virtual, communication was not as smooth as we hoped it to be.
  4. Found a major bug when we had 20 minutes to submit but still ended up fixing it with just 1 minute left
  5. We had to find the right balance between ensuring that everyone travels nearly the same distance and that the total distance is also as low as possible.

Accomplishments that we're proud of

Building an entire functioning web-app with a gorgeous UI from scratch in 1 day and managed to deploy it too. More importantly, creating something that we think is pretty useful.

What we learned

  1. Learnt how to use ReactJS.
  2. Hack&Roll 2022 was all of our first hackathon so we learned how to divide the work and integrate it all together in the end.
  3. Deploying a web app using Heroku
  4. Mixing tea and coffee does not give you an extra boost of caffeine.

What's next for Meet Me in the Middle

  1. Use Google API in the app.
  2. Add the new MRT lines and LRT lines
  3. Add bus stops as well.
  4. Give more preferences for users to choose from
  5. We hope to integrate our app with Carousell so that the buyer and seller can agree on a fair pick-up location.
  6. Allow the user to specify whether to give more priority to equality or total distance being lower
Share this project:

Updates