Inspiration

The inspiration for this project stemmed from the frustrations of past experiences with making the best use of perishable ingredients in the fridge, and the guilty feeling whenever we have to throw away a food item because it's forgotten in the back, hidden in the recesses of the pantry or refrigerator.

What it does

PantryAide is an AI-powered recipe maker and inventory management system. It allows users to take pictures of their ingredients in their stored location along with an expiration date. We use a model to minimize food wastage and create recipes with ingredients nearing their expiration date. Recipes are auto-generated and communicated to the user via a chat interface.

How we built it

We used Next.JS and Material UI on the frontend and Firebase and FastAPI for the backend. We used Cloud Firestore, a Google-managed NoSQL database for storing data. We used a model from OpenAI for the recipe generation. Additionally, we built a wrapper with Langchain for streaming of model output.

We hosted the project on Github, which was important for code collaboration and version control.

Challenges we ran into

One challenge that we ran into was integration of all the moving parts. I initially had a lot of difficulty in learning Google's Firebase authentication and Firestore database offering, but eventually was able to digest the syntax after parsing through lots of examples and documentation.

Accomplishments that we're proud of

We are proud of being able to complete a presentable, demo-able product. For me personally, as well as my teammates, we tackled new technologies that we had never touched before this weekend. I think it was encouraging and showed that despite not everything going to plan, we still made incredible learning growth.

What we learned

We learned so much. I personally, had not really worked with Firebase/Firestore. For me, it was fascinating to learn the best practices of NoSQL document design, especially nested collections. I had to do a lot of research. My teammates also had to do much research for their respective parts, including Next.JS, which was different than traditional HTML/CSS pages.

What's next for PantryAide

Incorporating more ML functionality such as automatic expiration date detection with Computer Vision and deploying the app so that people can actually try it and use it to keep organized and reduce their own food wastage.

Built With

Share this project:

Updates