Has this ever happened to you? You’re meeting up with a group of friends that you haven’t seen in a while, and despite throwing around dozens of ideas and meet-up spots while planning your get together, you suddenly just can’t seem to decide what to do next! Whether it’s because one person wants to bowl while the other wants to eat, or whether it’s because someone wants to splurge on all you can eat sushi while the other would rather have Subway, the bottom line is, there are so many things to consider when deciding what to do with a group of friends, and being decisive is hard! This is why we decided to create Friend Zones.
What it does
Friend Zones is an app specifically designed to consolidate the interests, as well as the time and budget constraints of each person in a friend group, and automatically recommend places to visit and things to do based on both the group’s specified criteria and real-time location.
How we built Friend Zones
As of right now, Friend Zones is a Flask web application designed to be used on a web browser of a mobile device.
To build this app, we leveraged several tools provided by Google Cloud Platform. Namely, we used the Google Geofencing API to track the user’s location and fence out regions so that users receive recommendations tailored to the immediate area they are currently located in, and once they enter a new region, a new batch of places are recommended to them.
All location information like recommendations, place ratings, and map locations were provided by the Google Cloud Maps, Places and Directions APIs.
Also, since Friend Zones is meant to be a social app where friends can easily decide on activities to do based on everyone’s preferences, we integrated the application with the Facebook authorization API, allowing users to readily create groups with their Facebook friends.
We also created UI/UX mockups for the application using Figma.
Challenges we ran into
We also faced coordination issues between the backend and frontend team members as it was hard to keep track of which backend tasks were dependent on which frontend tasks and vice-versa.
Finally, we also faced some challenges while trying to integrate the application with the Facebook authorization API, especially when trying to login and test locally, so we had to allocate more time than expected to dealing with work-arounds to such issues.
Accomplishments that we're proud of
One thing that we're proud from the creation of Friend Zones is the emphasis we put on user experience. One of the first things we did was create a Figma mockup of what the application ideally would look and flow like, and it definitely helped us more easily understand how to implement the flow of actual application as well.
We're also proud that we were able to make use of several third-party APIs, such as the previously mentioned Google APIs and the Facebook authorization API. It was definitely difficult trying to deal with all the different API responses and documentation, but it was super rewarding after everything worked out in the end!
What we learned
As a team, we were able to discover and learn several new technologies that we had not been exposed to before, such as jQuery, Figma, ngrok, and Flask! More importantly, we learned how to work together effectively as a group, especially considering we were not able to work together in person.
Finally, we also learned how important the brainstorming and ideation process is, as we had only decided on our current project already half-a-day into the hackathon, so we would definitely have had more time to actually conceive our project had we started the planning process earlier.
What's next for Friend Zones
Firstly, since Friend Zones is in its nature, designed to be a mobile application, we would love to see how the full fledged concept of Friend Zones would come to fruition as an actual Android or iOS app.
As for what we would love to see next for the future of Friend Zones, we want to take the functionality one step further past suggestions of where to go and what to do, and also include fleshed out plans and recommended schedules of where to go, how much time to spend, and how much to budget for the trip! This would no doubt help you spend less time trying to figure out what to do rather than actually doing it, and help make excursions with friends more about spending time with the people close to you.