Mix Eat where? Just Mix it!

Inspiration

After Christmas Service, me and 4 other friends sat in the car, trying to decide what to eat. An hour later, after pulling up Lemon8, Instagram and Google Maps, and various suggestions being pitched in, we still couldn't come to a conclusion.

I thought out loud, "How good would it be if there was an app that could take in every single person's food preferences and help you decide on a single restaurant?" At that time, we didn't have the skills to create it.

Just before Hack&Roll began, this thought re-appeared in my mind. I told my groupmates, 3 of which had no experience on mobile apps or React at all. We pulled an all-nighter and did not stop working for 24 hours straight, and as of writing this now, the app works and is able to make randomized decisions based on a group of people's food preferences.

What it does

Mix is an app designed to streamline the process of choosing dining locations for groups and individuals. It has two separate functions, Individual Mix and Group Mix.

Individual Mix On an individual level, it simplifies decision-making by allowing individuals and groups to input their preferences and requirements on a form, such as cuisine type, distance, customer reviews, and specific needs like vegetarian options or wheelchair accessibility. The app then uses these inputs to generate a tailored list of suitable dining establishments. If the user is still unsure of what to select, Mix can step in and randomly select a restaurant.

Group Mix For a group, it allows individual group members to input their preferences and requirements on their own individual form. The app will take similar inputs, but treats different requirements differently. For example, for distance and customer reviews, the average of the indicated value is taken. On the other hand, for vegetarian options and wheelchair accessibility, as long as a single individual has selected it, all restaurants in the generated list has to provide vegetarian options / wheelchair accessibility.

How we built it

We used React Native to build the UI and frontend of the app. All of the code was written in typescript, which almost all of us had to learn in the day leading up to the event.

Canva was used for the visual designs.

The data like location, name, vegetarian options, wheelchair accessibility is pulled from Google Places API. Due to Google Places lacking in many vital parameters like cuisine type, we had to utilise OpenAI API, feed the display name & reviews and from there extract the cuisine type.

Challenges we ran into

The biggest challenge was for us was just straight up coding. We struggled with understanding the language of typescript and just using React in general. 3 of us are learning the language and the platform on the fly.We're all pre-U students and half of us have been coding for less than a year (the guy who is typing this literally started coding in November 2023. I just downloaded vscode this week). I have never done something so painful but so rewarding.

Only 1 out of 4 of us knows how to use github LOL.

Another challenge we ran into was learning how to and integrating the AI model APIs into our app, and feeding it data like display name and reviews to get cuisine type. Prior to finally getting the OpenAI model to work, we tried many different AI models which yielded subpar or downright unacceptable results. AI is not (yet) taking over the world guys.

Also Postman didn't work for unknown reasons and we had the first technical ticket of Hack&Roll 2024. Fixed when it restarted the computer.

Accomplishments that we're proud of

Our app works! Coding non-stop for 24 hours. Picking up a language (javascript, typescript) while learning how to use React, React Native, Google APIs, AI APIs, Postman)

What we learned

Coding is difficult, but persistency is key. Coding is daunting, learning new languages and libraries with little to no coding experience is very scary. But with the right people it can be a great and rewarding time.

What's next for Mix

We hope to iron out the features and push it out in the app store! The app helps to solve a very real problem we face 3 times a day, which is deciding what to eat. For that reason, we believe a well-thought out app and solution can take off.

Built With

Share this project:

Updates