Why?
In the dawn of various modern technological advancements, there exists a growing criticism that these ecosystems of innovations are breaking apart the relations we hold in the real world. We sough to utilize these very tools to build an application that brings people together to break bread.
What?
Munch is an online search platform that leverages a graphical representation of user preferences and natural language to create tailored dining recommendations that perfectly blend the culinary tastes of two or more individuals. Whether you're planning a romantic first date, meticulously planning a large group dinner, or simply meeting up with old friends, Munch is here to streamline your decision making process. Our platform analyzes each member of your party's previous restaurant ratings and preferences, and learns from your group's similarities and dissimilarities to curate a selection of dining options in your local area.
How?
To build Munch, we used: • Reflex — an open-source framework for quickly building aesthetic, interactive web applications in pure Python. • Instructor Embeddings — a Hugging face embedding model that relies on insight into the task at hand for developing rich embeddings. • GPT-4 — used the LLM to summarize restaurant review info and data to feed to embedding models. • Google Maps API — web-scraped API holding data on ratings, reviews, price levels, and locations of restaurants throughout the Bay Area. • SciPy and NumPy — used these technologies to make computations (e.g., for cosine similarities) more efficient and easier to work with • Our very own multi-party aggregation algorithm — when determining the optimal way to combine preferences for a number of users, a key aspect to the computation is the way in which the different parties are aggregated. We create our own proprietary iterative algorithm that uses cosine similarity and embeddings to find restaurants that align with the top few restaurant choices for each of the users, ensuring that as few group members as possible end up dining at a restaurant NOT similar to one of their original top choices. At the same time, our algorithm ensures that each group member will dine at a restaurant where they have not dined recently, ensuring group bonding over novel dining experiences. The algorithm scales to a large number of group members, a large embedding size, and a large restaurant pool.
Despite?
Through our building journey 🛠️, we encountered a few technical challenges: Creating a reliable, thorough database of user reviews was very challenging, as different APIs resulted in a variety of inconsistent metrics. Moreover, the way in which we had to select our member aggregation methods required considerable thinking (which led us to our proprietary solution) from many less-successful algorithm trials.
So What?
Munch isn't just about finding a place to eat—it's about forging connections and creating lasting memories over a plate of your community's perfect blend. In a digital age where technology often isolates, Munch is as a testament to the power of technology to facilitate, build, and strengthen real-world interactions. By prioritizing meaningful, human interactions over digital distractions, we counter the paradox of online connectivity leading to real-world isolation. Our platform, devoid of any social media pressures (e.g. posting to your timeline, being able to view other's recent activity, etc.), encourages users to be present. Through Munch, we strive to make every dining experience a shared adventure worth savoring.
Next?
We hope to expand the site beyond use amongst friends to the making of new ones. By safely integrating location data, we hope to provide suggestions for people living near each other of their common tastes and potential restaurants and cafe's they both might enjoy.
We can further reinforce our algorithm by taking in user-inputted textual data for an even further fine grained understanding of their taste.
Log in or sign up for Devpost to join the conversation.