Inspiration
Every year in the United States, an estimated 125 to 160 billion pounds of food goes to waste every year, which is almost half the food produced. Most of this wasted food is edible and nutritious, however, several factors such as bad weather, loss of food before arrival at grocery stores, overproduction, and unstable markets contribute to food wastage at the store-level [1]. According to ReFed [2], households contribute to the largest amount of food waste due to overbuying, poor planning (e.g., unplanned restaurant meals leading to food at home going bad), over-preparing (e.g., cooking large amounts, more that people can finish), and date label confusion (e.g., the meanings of “sell by {date}”, “best if used by {date}”). Our application, Recipe Rescue, targets the general public at home, in hopes to reduce food wastage at the home-level [1].
Oftentimes, overbuying and/or poor planning leads to food spoilage at home, and some food is packed in quantity that is not enough for a small group to finish (e.g., a big loaf of bread that costs $1). Persons living on their own, persons who are learning how to cook, and students, tend to have leftovers from packages, for example, three left over carrots in a 1lb bag. Since, the food bought in bulk saves money, like the $1 loaf of bread, most of it gets wasted. Not everyone will want to eat sandwiches for 5 days in a row until the bread goes stale. Recipe Rescue will strive to help these individuals find recipes based on the quantity of leftover perishable food in their refrigerator and pantry and help enhance their lives with a variety of different dishes that encourage healthy eating and sustainable cooking.
What it does
Recipe Rescue is essentially a targeted search engine where user’s will be able to input leftover perishable ingredients of their choice as well as the quantity of the ingredients they have left in units (e.g., 2 apples, 5 carrots, or ½ an onion). The application will be a smart phone app with a single input field that will generate recipes as the user adds to the list. The search engine will be driven by a a filtering results from API calls made to Spoonacular Food-Recipe-Nutrition API, on a React Native application due to the ease of development of cross-platform applications. Account creation will be optional for use, but for registered users, the app will show previously used recipes, recommendations based on history, as well as the opportunity to rate and favorite some of the searched recipes for later. The ratings of recipes will be fed into a priority search, and recipes will be generated in order of highest to lowest received ratings. The app itself will display the full recipe retrieved via web scraping, and not lead the user to an external browser, which may enhance user experience. Overall, we believe this application can aid users’ in contributing to less food wastage starting in their homes whilst enhancing their lives with a variety of meals.
How we built it
The application is built using React Native for cross platform mobile application development.
We connected the application to MongoDB for user login and registration as well as storing their saved recipes, and their latest search/selection history.
For the recipe search engine, we made REST API calls to the Spoonacular API via Rapid API's subscription with cost approx. $30 for a basic plan. We using Axios and ExpressJS. Specifically we needed these REST APIs for this task:
- GET Search Recipes by Ingredients (which returns an id)
- GET Recipe Ingredients by Id (which returns the ingredients for a recipe and their amounts in units (count, cups, weights ) - This information is then compared with the user query to match for entered quantities and ingredients.
- GET Recipe Information by Id (if there is a ingredient and quantity match, it will send a request to this API to get the recipe information like the source, image and link which is displayed on the application for the user to open).

Challenges we ran into
Since we were new with these environments, we we winging it as we went, just watching tutorials and learning. Even though the team members were quite familiar with ReactJS concepts, React Naitice was still a journey. MongoDB was completely new territory. As for the front-end, we has issues with the Expo Go debugging environment. At one point, some changes were made that Expo was not happy about and the app would not load. This wasted some time until Saturday afternoon. After that the environment was set up and ready for rendering the views and actually making the application. The debugging however took too much time. We eventually learned that the app can be debugged using Chrome browser and developer tools. We ended up using that the phone layout out that and it worked well.
As for the database side, there were some issues with uploading the user data form registration using axios.
Accomplishments that we're proud of
We learned how to make a full-stack web app in 2 days!
What we learned
What's next for Recipe Rescue
The members of our team had personally realized how much food is thrown out because they were either forgotten or they had a very short fridge lifespan. In the near future (2 days from now), we will be completing the rest of the views that we had planned for this application . We will use it amongst ourselves as one of the members of the team is an avid cook. We hope to receive feedback from family members on their thoughts while using it, and perhaps see if there is any effect on the amount of food wastage in our own homes after using this application. We believe Recipe Rescue can play a role in reducing food wastage starting in our homes.


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