Inspiration
Much like other high schoolers during quarantine, all three of us started to get extremely bored being stuck indoors all day. We wanted to try something new, perhaps start a new hobby. We thought that maybe we should start cooking, after all, it was what our moms had been pestering us to learn since we entered high school. Before we started, however, one question crossed our minds. What do we make??? There are so many recipes out there, recipes from many different cultures and cuisines, and all of them as delicious as the next. Not only did we wonder what we could make, we wondered if we had the proper ingredients to make them, we knew that our kitchens were full of food, but was it enough to cook whatever our hearts desired. It all felt very overwhelming, a multitude of possibilities that scared us away from cooking. That's when we had the idea for Food Fetch.
What it does
The main purpose of Food Fetch is to solve the question, what do I make? The app can take a picture of your pantry and/or your fridge, and it can detect what ingredients you have. For example, if you take a picture of your fridge, our machine learning may detect your fruits, vegetables, meats, dairy products, etc. The app will then put add all your ingredients to a list called "My Ingredients", a list that you can edit manually by hand, or by scanning more pictures. You can then search for recipes that you can make, our large database has thousands of recipes from multiple websites. The app will run through your ingredients and search our large database to see if you can make anything. It will then return them all, and you can scroll through them to see if there's anything you would like to make. You can even filter through the recipes in any matter you chose. You can search by cuisine, meal-type (breakfast, dessert, etc.), and even more basic searches such as egg (it will return recipes with egg in them) or cookie (cookie recipes). If you find recipes that you particularly like, you can save them to your favorites. The app inspires you with new recipes and helps broaden your culinary horizons by letting you try many new types of foods. You can also use the app to check what ingredients you have, this could be useful if you are on a grocery trip, and need to figure out what you need to buy. The camera detection is an easy and efficient way to not only learn new ways to cook, but to also keep track of what ingredients you own.
How I built it
We used a web scraper built with Beautiful Soup and a library called Recipe-Scrapers, this scraper was built in python. The scraper parses through our database of recipes, and looks at your ingredients to see what you can make. The application was made with Java in Android Studio, we integrated the python code with our Java app using Chaqoupy. We also built a machine learning model using Tensorflow and python. The ML model was connected to our parser and Java application using Google Firebase. With Firebase we were able to store users’ pictures in the cloud, and out machine learning model was able to detect the images and send it back to the app. These three separate components, the web scraper, application, and ML model we’re out together to build Food Fetch.
Challenges we ran into
We ran into multiple challenges while building the app. We were confused as to how we were going to integrate python and the Java app, we then found chaqoupy and used that to connect them. Another issue we ran into was connecting our ml model and app through firebase, it took a while, but through research we figured it out eventually.
Accomplishments that we’re proud of
We’re especially proud of the machine learning model, it took a while to learn, and we’re very happy that it works with a high accuracy. We’re overall very proud that we were able to put together an app that’s functions properly.
What we learned
We learned a lot while building Food Fetch, we learned how to implement two languages together, in our case, python and Java. We also learned how to build a ML model.
What's next for Food Fetch
We want to eventually publish the app to the Google Play Store and the IOS App Store, before we do that though, there are some upgrades we want to make to Food Fetch. We want to add more ingredients that our model can detect, as of right now the app is in a beta state, and can only detect some foods. We also want to add a feature in which you can craft menus for the day. With this feature, you can add specific recipes to the breakfast section, some recipes to the lunch section, etc. This feature can help you make meal plans for you or your family and can help organize your cooking schedule. We also want to generally "clean" the app up with a nice and easy to use GUI.


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