Introduction
Almost fifty percent of America’s food is wasted, costing the nation billions of pounds of food and $218 billion per year. Among the points along the food chain where food waste flourishes, the household was the most significant, with over 50% of food waste happening at this level due to poor planning, overbuying, food spoilage, and other factors. Our app aims to reduce food waste by making food preparation significantly easier at the household level.
What it does
Our app aims to make food preparation significantly easier. After compiling the ingredients in the kitchen at hand, it gives recipes that the user can choose to cook from a database of over three hundred thousand recipes. The user is then able to decide which recipes they will make on the app. After each recipe is complete, the ingredients used in the recipe are removed from the stored list of ingredients, and the recipe is stored in a database for future use.
How we built it
We first began by dividing our team into different roles corresponding to backend and frontend development. Our design process was very collaborative however, owing to our small team size. One person would design the frontend portion of our app through Android Studio, while another would train our model in an efficient manner. We helped each other throughout this process.
Challenges we ran into
One of the biggest challenges we faced was the time constraint. Many of the various techniques we approached, such as database design or web scraping, were either unfamiliar or required rehashing, so lots of time was spent reading through documentation.
Accomplishments that we're proud of
We were able to create a working app successfully! Our app integrated multiple technologies such as NLP and frontend development concisely in the given time constraints, and we are very proud of that.
What we learned
Decide on an idea earlier! From a technical perspective, this was the first time we have ever used databases and made our own, so we had to learn to use SQL and how to connect various queries to our frontend. We also decided to use an unfamiliar language, Dart, and a framework for it called Flutter. This was language was difficult at first to understand, especially considering most structures were framed as widgets; we were required to read documentation and do heavy amounts of experimentation to learn how to use the language fluidly. For our backend, we learned an NLP algorithm called condition random fields. We used this to take a string and tag each word with a label, in this case, name of an ingredient, quantity, and unit. In addition to this, we also used Flask to create our own API, which also strayed into unfamiliar territory. Overall, we learned a lot in this hackathon and ventured far out of our comfort zone.
What's next for The Cooking Father
Due to time constraints, we had to abandon some initial ideas for our project, primarily the ability to generate a list of ingredients by scanning them in person. In the future, we hope to revisit this idea and flesh it out more thoroughly. In addition, the user interface of our app is still rather barebones, so we hope to improve these details for a better user experience.
Log in or sign up for Devpost to join the conversation.