Since the COVID-19 pandemic began, the real risk of encountering coronavirus in public areas such as stores means it’s often best to avoid grocery shopping unless it’s absolutely necessary, especially for elderly or otherwise immunocompromised individuals. Home Recipes was created to help you find recipes for the ingredients you already have at home so that you can push off that grocery store trip a little bit longer while still making delicious food.
What it does
To begin, select the ingredients that you have on hand from the categories listed below. Next, review your ingredients to ensure that they are the ones you’d like to use today. Finally, get ready to start cooking as we help find you recipes to dishes that you can make with what you have on hand! Home Recipes goes above and beyond because it displays closely matching results, like those that are possible with common food substitutions or one more ingredient. It also provides a filtering option to sort results.
How I built it
Flask to create the web framework, Python's Pandas for data processing, REST API with Python to interface with Spoonacular.
Challenges I ran into
Spoonacular's API's free tier is VERY limiting (only 50 calls per day). Additionally, we needed to make one API call to get recipes and an additional call for every recipe to get more information about it. This meant for every test of the website, we used 12 out of our 50 total calls for that day. This made testing very difficult, and a caching system necessary.
Accomplishments that I'm proud of
First and foremost, the application is fully functional, with robust error handling and modular code (at least, by hackathon standards). Another major accomplishment was that we built a caching system. Due to the API payment limitations, we wanted to store the result of API calls so that we could reuse the data instead of making another call.
What I learned
This was the first time building a caching system and a fully object - oriented backend. It was really fun and rewarding!
What's next for Home Recipes
Deploy the application, set up a custom API so we can make more calls, get cooking!
Timothy Goh (pinsir#8066) Michael Sprintson (ms148#7296) Camsy Huang (cam#6573) Christina Zhou (zxcter#5139)