Inspiration

As college students, we observed the amount of food waste happening in our dining halls, local restaurants, and our local communities. And since food waste is one of the world’s largest sustainability challenges, as nearly 40% of food in the U.S. goes uneaten, and much of this waste happens after purchase, when retail food spoils before being consumed. Beyond the financial loss to households, food waste is a leading source of methane emissions from landfills, a critical driver of climate change. One leading factor for this is that the consumer might simply forget to finish a product before it spoils. So what if they had a friendly reminder?

What it does

Our project is a nudge-based sustainability app designed to reduce food waste at the household and community level. Inspired by Nobel Prize-winning behavioral economics, we use gentle nudges, computer vision, and Gemini-powered recommendations to help individuals and small communities save food, money, and the planet.

What Makes Us Unique?

Unlike existing “food waste” or resale apps (e.g., Too Good To Go, Olio), our solution is: Behavior-first: Built on nudge theory, focusing on subtle, positive reinforcement rather than guilt or one-off transactions. CV-powered: No manual logging required; the app recognizes food directly from pictures. Gamified: Sustainability framed as a rewarding, fun lifestyle change, not a chore.

How we built it

We used React Native TypeScript (using Expo) for the frontend, and Python with the FastAPI framework for the backend. A brief description of integrations are below: Barcode Scanner: We experimented with many different methods, but settled on using expo-barcode-scanner to decode a barcode in the frontend, then sent to the backend for an API call to a product database. Gemini: We used gemini to create recipes from expiring food, create notifications for users, and add fields (such as estimating price) to json data.

Challenges we ran into

One problem we hit was the barcode scanning, or rather, information gathering from photos of the food products. We initially thought of uploading a picture of the product into Gemini-2.5-flash and ask Gemini to retrieve the information from the label (ie nutrition facts, expiration dates, etc.). This proved to be very choppy and we were able to decode the bar code on the client side, then pass to the backend which greatly reduced latency.

Accomplishments that we're proud of

Our app seamlessly is capable of detecting a barcode on the frontend, with very high efficiency. It’s then able to gather large amounts of data for each product and store that in our own database. This app uses intelligent behavior to provide effective notifications and “nudges” the user to a more food sustainable route. It also incorporates the Gemini API to help with the data pre-processing, recipe generation, notification generation, and more.

What we learned

We learned how to create a full-stack implementation of an app. From developing a structured backend and a reliable database to an easy-to-use frontend. We also learned about a few computer vision techniques, for example, implementing a barcode detection algorithm on the app’s frontend.

What's next for Leftys

We hope that in the future, we can improve this app by making changes such as pushing to the app store so that real users can get push notifications, which would greatly improve our user experience!

Share this project:

Updates