Inspiration
Our group loves to eat out, but we realized that upon choosing a place to meet and eat to talk about the hackathon, we spent too much time trying to choose a place to eat!
What it does
Picki proposes the same group of restaurants to a group of people and allows them to individually vote for restaurants they would like to eat at it, this adds a layer of anonymity to avoid possible situations where others feel like they're too afraid to share their opinion!
How we built it
We built the backend with Flask since it is a lightweight API design tool. We built the frontend with Flutter since it's a resilient and well-tested cross-platform mobile framework. We used a lot of google cloud APIs such as the maps API to grab restaurants near locations, and also google Firestore as a document database.
Within the google maps API, we specifically used: find place from text, get nearby places from coordinates, distance matrix, geolocation, and geocoding. We also used the firebase-cloud-messaging api to send notifications as events to multiple devices.
Challenges we ran into
The biggest challenges we ran into was how to handle a lobby of people. It was difficult to create asynchronous protocols and sync user devices. We chose to use Firebase Cloud Messaging with event handlers in flutter to handle these difficult operations.
We also ran into an issue where we could not modify an array in Firestore. Since we stored restaurants of a given session in an array, we had to create a separate sql database to keep track of likes due to ease of querying and incrementing likes.
Accomplishments that we're proud of
We're really proud of designing an application that uses so many different components. We spanned across nearly the entire google maps suite, along with learning new technologies such as Firestore, Firebase Cloud Messaging, Dart (Flutter), and this was the first iOS app for 3 of the members. We're especially proud that we could get out a working MVP by the end of the hackathon despite the challenges.
What we learned
Members learned from each other due to a wide skillset. Some members were skilled with design tools such as Figma, while others were skilled with creating backend APIs and mobile app development. However, we all ran into problems that none of us had seen before.
3 of the members learned about the process of mobile app development, and how developers today build cross-platform apps.
What's next for Picki
We would love to add support for cuisine support (i.e. chinese, mexican, american) and integrating a twilio API to send invite to friends rather than entering lobby codes. We would also love to create a smarter algorithm to find better places.
Past those changes, we would also like to release to the App Store and to the Android Play Store!
Log in or sign up for Devpost to join the conversation.