Inspiration
I went to an Italian Restaurant last week (great food). They had a qr code menu, which is becoming more popular these days, that took me to a pdf file. The problem I had with that menu was that it felt really weird and not inuitve at all. Small letters, weirdly organized, and the only thing you can do is zoom in. I believe it would've been much better if the menu was much more intuitive, allowed you to scroll through with descriptions of all the items. Another problem I had was that the worker took a really long time to come to our table and take our order, which made sense since it was really full.
What it does
Menu Finder solves these two problems by having an intuitive menu, which also allows you to order directly through your phone. Essentially a restaurant would signup through the app and upload their menu in excel format. This would create a profile page for them which would have the menu neatly organized and allow the user to add items to their cart. During checkout, they would choose which table they're sitting at and the order will be directly deliverd to the cooks. No need to wait for someone to come get your order!!
How we built it
The app uses react.js with firebase backend. When signing up, it uses firebase authentication to create a user using an email and password. Yelp api is also used to find the exact restaurant that's signing up so things such as rating, phone number, and exact coordinates can be scraped and saved in the firestore database. Once signed up, a new url is created for the restaurant profile which can be used for the qr codes. The profile page contains the restaurant details as well as a scrollable menu where each item can be added to the cart. The cart has a feature to save the dine-in for later. For example, if you're going to dine-in at a restaurant in an hour, you can send you're order in and it will be ready to be served when you get there. There is also a Find the nearest registered restaurant feature on the main page, that uses the user's current coordinates to find the nearest restaurant.
Challenges we ran into
One of the challenges I ran into was finding the distance between a restaurant and the user. Coordinates are really interesting because the world is a sphere meaning there are multiple ways to get from one point to another. I used the Haversine formula to find the most optimal distance between two points if you were to draw a line. It's as follows:
One thing to keep in mind was to convert the coordinates from degrees to radians in order to properly utilizes trig identites.
Accomplishments that we're proud of
Using yelp-api, firebase cloud database, and react-js to build an mvp that with some tweaks can be used today.
What's next for Menu Finder
From a scale and business prespective, I believe Menu Finder really has to pivot to a data-based platform. Once you scale a bit, an app like uber eats is essentially going to steal all the users because all they have to do is add a dine-in feature to checkout. With an already booming database of restaurants this shouldn't be too hard. To counteract this, Menu Finder would have to focus more on providing Restaurant owners with data points to make their restaurants better. Another idea I had was to include booking a table in the app, which would than encompass the entire dine-in experience and save you from being squished by uber.

Log in or sign up for Devpost to join the conversation.