Inspiration
We were inspired by the theme "Meet in the Middle" to create this elegant and functional way of determining the best location for a meeting based on a variety of factors including: CO2 emissions, price and duration.
What it does
Given a set of people at various locations, an event duration, and an event range, it determines the optiomal meeting point from a list of 25 prominent global cities. It utilises the Amadeus API to fetch relevant data and we also use rapidapi api to fetch taxi data. The algorithm we used works by selecting specific meeting times over a range of dates and then works out whether all attendees can reach a location by that meeting time. It then uses functional programming to determine the optimal meeting location using a weighted graph algorithm.
How we built it
We built our backend with node js and express.js and the frontend is written in TypeScript using React and TailwindCSS.
Challenges we ran into
We ran into problems determining how best to structure the data and the algorithm to determine the best meeting point as well as optimising which prompted us learning more about caching, setting timeouts, and promises in JS.
Accomplishments that we're proud of
We are particularly proud of the clean, minimilistic design of the frontend.
What we learned
Most of our team lacked web development skills hence we had to learn how to use JS, React, and TS.
We learned that JS promises (which are just the future value of an async request) can be parallised. Initially our code which made HTTP requests were all sequential which meant they were slow. It turns out using 'Promise.all' will run them all promises in parallel and the total time taken is the time for the slowest request rather than sum of times. We though JS was single threaded - how is this possible? It turns out that async operations (like network requests) can be handled in parallel by the OS’s async capabilities. We also make significant use of caching to help speed up requests.
What's next for meet.ly
Currently our algorithm works for specific meeting times but We have hopes to try and collate all plane information for a period and work out a time region where all attendees would be in the target destination from which point for all of these we'd reduce these down to determine the optimal location.
Built With
- express.js
- javascript
- react
- tailwindcss
- typescript


Log in or sign up for Devpost to join the conversation.