Gather
Easily make group decisions. Gather is a Group Arrangement Tool Helping Ensure Resolution. Explain your preferences and Gather quickly finds restaurants, movies, and more to make everyone happy!
Inspiration
Have you ever spent an hour with friends arguing over where to go for dinner? Or debated with your entire family while scrolling through hundreds of menus on Yelp, desperate for a restaurant that satiates every person's tastes? Decisions are pretty hard when everyone has an opinion.
What it does
Gone are the days of screaming matches and fistfights between hangry adults! Create a Gathering and share the link with friends. Members of the Gathering tell Gather what they’re craving, what they hate, how much they’re willing to pay, even their deepest darkest desires and daddy issues (our language model is a great family therapist!). Gather then recommends restaurants nearby that everyone will find yummy.
How we built it
Our frontend is built in React Native, our backend is built with Python with Flask and Azure. To power our natural language capabilities, we used OpenAI’s API with GPT3.5, which we prompt engineered to fit our solution. We created a pipeline to create a custom knowledge base of potential restaurants based on the user's current location, which scrapes Yelp for menus, reviews, hours, and more.
Challenges we ran into
The most challenging part of this project was prompt engineering. Imparting intent onto language models is unlike any type of programming we’d ever done, actually more similar to negotiating a parrot with the collective knowledge of the entire internet but the stubbornness of a toddler. It was incredibly difficult to prevent the model from recommending a restaurant that was not provided in a knowledge base. We also spent a lot of effort to figure out how to force models to adhere to hard safety rules that could not be broken using negotiation. For instance our model always respects allergies and prevents one user's extreme preferences from dominating the decision. Creating safety features that worked reliably and fairly took much trial and error. Prompt engineering was also definitely the most novel and fun part of the project.
Accomplishments that we're proud of
We’re quite proud of the workflow we designed. We think it’s quite easy to understand but still extremely powerful. It was our first time working with OpenAI and we’re quite happy with how it turned out.
What we learned
This project made us extremely familiar with the limitations as well as the immense potential of AI in language. It was extremely fascinating seeing how the “cognition” of language models differed, and how it seemed to process structure, logic, information, and intent. We learned that GPT’s favorite food is infallibly figs, and very insistently likes figs.
What's next for Gather - easily make group decisions
Our platform is extremely flexible and works with other types of decisions and knowledge bases. For instance, choosing which Netflix film to watch for family movie night, making a group Spotify playlist with friends, or even sending a Gather poll to an entire company to create a theme for the holiday party; the possibilities are endless.
Built With
- azure
- openai
- python
- react-native
Log in or sign up for Devpost to join the conversation.