Inspiration
Each year, a significant amount of food and grocery items go to waste due to improper utilization or a lack of ideas for using them. We wanted to tackle this issue by helping people optimize their resources and reduce waste.
What it does
FEAST is an innovative app that allows users to scan items in their pantry that are underutilized or nearing expiration. Based on the scanned items, FEAST generates tailored recipes to help users make the most of their ingredients, preventing food waste while inspiring delicious meals.
How we built it
We used Flutter for mobile application development to create an intuitive and responsive user interface. We integrated the ChatGPT API for recipe generation prompting. The backend, built using FastAPI, bridges the app and the ChatGPT API. We also used our backend for the barcode scan detection. We also utilized Firebase for database management and user authentication, enabling secure storage and real-time data updates.
Challenges we ran into
Connecting the frontend and backend was a tricky process. Even minor differences in JSON formatting could cause unexpected issues, which meant we had to spend extra time debugging and testing. We also focused on improving the user experience, like enhancing the barcode scanner to handle multiple items in a row. These constant integrations and updates were challenging, but they helped us build a more polished and user-friendly app.
Accomplishments that we're proud of
At the start of the semester, we set out to implement key features: barcode scanning, recipe generation/selection, and authentication. We’re proud that we were able to complete all of these. While some features still need polishing, finishing them was a big step forward for the project, and we’re excited about the progress we’ve made.
What we learned
As a team, we learned the importance of coordination when working on a large project. Maintaining a clear roadmap kept everyone aligned and helped us stay on track. We also realized how crucial it is to manage code effectively to prevent conflicts during development. These lessons not only made our project better but also improved our teamwork and project management skills.

Log in or sign up for Devpost to join the conversation.