Inspiration

Our inspiration stems from the creation of the Freedge, designed to combat food waste and promote food equality for all. This outdoor mini fridge enables community members to donate and receive food at any time. Despite its commendable mission, some may hesitate to use the Freedge due to concerns about the freshness and source of donated food. Common questions include:

  • How long has the food been stored?
  • Is it still safe to consume?
  • What specific items have been donated? To address these concerns, we proudly introduce Freedge Filler: Elevating Food Accessibility, Convenience, and Equity within Our Community

What it does

Our project has multiple stages that work in cooperation with each other. The first part is the donator side - We want to encourage people to add items to the fridge by using a barcode scanner through a mobile app that anyone can access. Upon scanning an item, we use our simplified analysis of nutrition facts to return a score based on how healthy of the item is. Our system guarantees to award points regardless of type of food it is.

Upon donating and scanning a food item, a point is added to the user's total score. Therefore, people who frequently donates increases their chance to be on the score leaderboard. When the scanned items get added to the corresponding freedge, any users can view the contents. However, what's displayed on the website might not correspond with what's actually inside these fridges. To address this, we also added a camera that one can use to check to make sure a certain item has not been removed yet.

How we built it

Camera+Server This was built using a Python program that uses a cheap web camera to capture an image given a certain framecap. It takes that image, and compresses it to base64 so it can be sent to the backend.

Backend We use Firebase authentication for the sign-in process, Nest.js for storing real-time data, and Barcode and nutrition API to provide essential nutrition facts.

FrontEnd We use Flutter framework to develop our solution. It has the ability to develop mobile app, web, and desktop in a single code base.

Challenges we ran into

The greatest challenge in our development was getting our scanner to work. A lot of the scanning API's and libraries were not upheld and therefore had severe version-mismatch problems. Not only that but the APIs for retrieving barcode data usually cost money or did not have a complete database.

Accomplishments that we're proud of

We are very proud of how well our project integration turned out. From the very start, we had some trouble coming up with a concrete project that would not fall short of our hopes. Though we did not expect to finish all these different aspects, we managed to do so and even have time to add bonus features such as a leaderboard system.

What we learned

As a group, we have learned so much from the past 24 hours, that it's hard to know where to start. Most of our group was not familiar with web dev so creating a multi-device system was unfathomable. Despite this we managed to learn how to integrate the server-client connection with another server, some members learned dart from scratch, and we even figured out how to create a stream-like functionality using image capturing/encoding.

What's next for Freege Filler

Though we all knew that the extent of what could be achieved was limited by the time restraint, we could not help but think of how we could take this project further. Among those ideas, we thought about improving the API we use to fetch data, an alert feature that would let certain people know when food gets added, and a proximity-based detection to prevent fraudulent uploads. Our current API is a very rudimentary one that works with most-but not all products. Using a more reliable one would yield more accurate data on the nutrition facts as well as allow consistent scanning. In terms of an alert feature, it could reduce food waste by letting people know they can pick up a certain food. Finally, a large factor at play with projects such as these is public integrity. We can trust the public, but only so much. If we were to start having a reward system for people on the leaderboard we had to guarantee that they would honestly donate. For that reason we though about implementing a proximity-based system that only allows upload when one is within a certain radius of a Freege and a report system for those that scan multiple of the same object.

Share this project:

Updates