Inspiration

From personal experience, we felt that a lot of home food wastage stems from forgetting the expiry date of the food items, and then discovering too late that it is no longer safe to eat. That is why we came up with Finefoods to remind people of the expiration dates of their food items as well as the money they waste by discarding food.

What it does

Finefoods allows users to input their food items with the prices and expiry dates. The expiry date will serve as a reminder for users to finish their food before it expires, while the price will remind users of how much money they would be wasting if they discard their food before consumption. The home page displays a list of unexpired food yet to be unconsumed by the user. The food wastage page displays a list of expired food, which we hope would remind users not to waste any more food in the future. Users can collect points (increments of 10) for finishing off their food items to collect rewards by clicking the tick button in the home page. The point system allows users to attain different levels of achievement, both of which are displayed on the profile page. Users can also change their username in the profile page. There are also fun facts about food wastage for users to read about and hopefully be deterred from wasting food.

How we built it

We used the React Native framework for the frontend and firebase for the backend (authentication and Firestore).

Challenges we ran into

We faced many challenges in the course of the day, the first and foremost being building a functional app in 1 day. First, while brainstorming, we faced problem in choosing a suitable problem statement and subsequently a solution.

Throughout the process of building the app, we also faced multiple bugs and went through many rounds of debugging. One issue we spent a significant amount of time on was how to store date picker output as a timestamp in Firestore. We needed to do this so that the dates can be compared when we query for data to ouput food items that have already expired. Luckily, as we discussed with each other, we managed to figure out the solution by creating a new function to convert the string to a timestamp.

We also oddly faced an issue with limited Firestore storage space for free users (money rules). We overcame it by creating another Firestore storage with a new account to increase storage space.

Lastly, learning React and applying it within such a tight deadline proved challenging for those without any React experience. To tackle that, we have to unfortunately compensate by spending more time on the hackathon and losing our precious sleep time for it...

Accomplishments that we're proud of

Building a functional app in 1 day. Working on a project that all team members feel strongly about since we do face the same problem of having to throw expired food because we forget to consume it.

What we learned

We became more proficient in coding for the ReactNative framework and using firebase/ firestore functions. This is also our group's first time participating in a one-day hackathon so we learnt the importance of time management. We had to swiftly come up with an app idea, functions and the UI before we could start coding.

What's next for j4va

We would like to implement a better rewards system with better incentives to motivate people to not waste their food. We hope to partner with a sponsor that will reward our app users for consuming their food before the expiry date. We would also like to implement a trading and donating system for people to give away their unwanted unspoilt food.

Share this project:

Updates