Inspiration

This program draws inspiration from our shared passion for food and cooking. It allows us to apply our knowledge and skill sets in computer science and data science to one of our hobbies. The difficulty of choosing what to cook is a daily struggle that we all have experienced, and therefore served as the initial inspiration for this project.

What it does

The recipe recommender allows users to type in ingredients and recommends recipes that include all the ingredients they input so users are able to incorporate ingredients that they currently have on-hand in their kitchens into their meals. Therefore, users can forgo steps such as stressing about which meals they should make for dinner and painfully searching through websites struggling to find dish ideas and recipes that include ingredients they have.

How we built it

We used the tkinter library to build an interactive GUI. We used dynamic programming and dictionaries to continually generate search results given continuous text input from the user. Furthermore, we used the Bing image downloader to scrape recipe images based on search results. For the recipe and ingredients data portion, we used pandas dataframe to store and filter through the recipes to get those that contained the ingredients entered by the user. In order to do so, we mapped the data to a dictionary where the key was each ingredient, and the value was a list of recipes that the ingredient was used in.

Challenges we ran into

One challenge that we encountered in the process was with the images that corresponded with each recipe. We originally wanted to provide a picture depicting each recipe that was downloaded from the dataset. However, as the size of the picture files was too large, we ultimately had to find an alternate method to get pictures. Learning how to use the tkinter library in a short span of time was also a difficulty .

Accomplishments that we're proud of

Overall, we are proud that we were able to finish the project from the back end to the graphical user interface and develop a working program that achieves the goal we envisioned of easing the struggles of those cooking at home with a solution to a daily problem. We are also proud of being able to overcome challenges that we faced in the process of creating this program such as using images from a different source when we were unable to upload the large picture files to Github.

What we learned

Throughout this process, we learned that the planning and ideation process should be taken into consideration seriously and isn’t something that can be rushed. This phase can be the make or break factor in the entire project. We found that it was particularly challenging coding something from scratch but this process taught us that each phase of the process is just as important as the next.

What's next for Recipe Recommender

Throughout this process, we learned that the planning and ideation process should be taken into consideration seriously and isn’t something that can be rushed. This phase can be the make or break factor in the entire project. We found that it was particularly challenging coding something from scratch but this process taught us that each phase of the process is just as important as the next.

Built With

Share this project:

Updates