Inspiration
As college students, we find being resourceful with our time, money and effort is of utmost importance. Specifically, regarding food, we want to make sure none of our groceries go to waste, and in a pinch we can find things to make with the groceries we already have. Additionally, food waste is a massive global problem, contributing to 8-10% of global emissions. We wanted our project to address this issue by helping people find creative ways to use ingredients they already have, reducing waste, and making a positive impact on both a personal and environmental level.
What it does
Pantry Planner takes an input of ingredients, and provides up to 10 recipes you can make containing those ingredients. It provides nutrition facts and an ingredient list for the recipe, as well as a link to the more detailed source recipe with instructions. Additionally, Pantry Planner can accommodate to various dietary restrictions and allergies including but not limited to: dairy, gluten, soy, egg, fish and nut allergies, as well as kosher, keto-friendly, halal, vegetarian, high-protein, low-carb diets and more.
How we built it
Pantry Planner was primarily built using Python and the Edamam API for the backend, and implemented using HTML and CSS for the frontend, with Flask to integrate the two. Specifically, we called the Edamam API endpoint to provide the best match recipes, and the data regarding the recipes before displaying it on the webpage.
Challenges we ran into
We ran into challenges both big and small while building Pantry Planner, but one stood out. Data management was difficult at scale because the API response we were receiving was so large that our terminal was truncating the response. As a result, we found it difficult to extract the data necessary to us as it was difficult to view the hierarchy of the json response. We worked through this by first using the json library to format our data with indentations properly, then tracing the hierarchy to successfully filter our data.
Accomplishments that we're proud of
We are most proud of exceeding our expectations regarding the scope of the project. When we began planning the project, we did not anticipate including any nutritional information regarding the recipes, nor did we expect to accommodate for dietary restrictions. Being able to include these in our final product makes us proud because it is greatly expanding the reach of Pantry Planner to the approximately 17% of adults who have dietary restrictions. Additionally, we are incredibly proud of the work we were able to accomplish on the frontend. Before this weekend, none of us had any experience in frontend development, so we put in a lot of research regarding components of good web design and UIs, and explored dozens of websites to observe everything from text placement and size to fonts to color combinations to button features and more. As a result, we were able to construct a polished webpage as a final result. Lastly, we are proud of the growth potential of our product. Cooking and grocery shopping are universally performed activities, and everyone deals with food waste and lack of creativity regarding meals at some point. By solving a key issue people all over the country and world face every day, Pantry Planner has the ability to positively impact millions. Additionally, 12% of the US population lives below the poverty line, and often they have little control over what food they can make with the groceries they have available at that time. As a result, being able to provide meals that can be readily made with the food they have on hand can be revolutionary for putting food on the table for them and their families.
What we learned
Working on this project expanded our skillset and taught us valuable lessons in problem-solving and researching. Due to Edamam API currently switching from v1 of their API to v2, we needed to problem-solve regarding issues connecting to the API, as well as inferring the syntax for some of the capabilities that were not yet documented in v2. Additionally, we reinforced our skill of researching and gathering information to create the best possible product by doing extensive research regarding user interfaces and frontend development. Developing these skills helped us work together to create the best possible product.
What's next for PantryPlanner
We hope to expand Pantry Planner's capabilities on a technological front by adding more features to make it more personalizable. Some examples include adding a meal prep/cook time feature which allows you to see upfront how much time making a recipe will take. A couple other ways we hope to expand the capabilities of Pantry Planner is to connect the application to a third party product like Plaid, which can provide an itemized list of what a customer bought on a grocery run. This will allow Edamam API to routinely suggest meal ideas based on what it knows the user has in store at the moment. Along a similar vein, we hope to add a camera feature using YOLOv8 where you can scan a counter full of groceries and it stores these values in a database that Edamam API can pull from to generate recipes. We would like to also make Pantry Planner available as an iOS and Android app so it is more accessible for those without laptops and home internet connections, as well as added convenience for the camera features and for working in a kitchen. We hope to eventually see Pantry Planner become a widely used app in households to make cooking easier, less wasteful and more accessible for all.
Log in or sign up for Devpost to join the conversation.