Knowing that nutritional value of the foods we eat can help encourage individuals all over the world to make healthier choices when it comes to eating. We decided that we wanted to make a web application that would allow users to check the nutritionals facts of the foods they'd eat all through the quick click of a few buttons.

What it does

Fora allows users to upload an image of a fruit or vegetable which is then compared to our machine learning model. The machine learning model then detects what fruit or vegetable is in the picture against 131 different fruits and vegetables and outputs the nutritional information for the detected fruit or vegetable.

How we built it

The machine learning model was built and trained using Jupyter Notebook and PyTorch. The model was trained using the Fruits 360 dataset on Kaggle: The Edamam Nutrition API was integrated into our backend using Python. The values were passed to our frontend built with HTML, CSS, and JavaScript with the framework Flask.

Challenges we ran into

This was our first time creating a machine learning model so there were lots of challenges. One of the biggest ones was the wait time. The first cycle of our training took 5 hours and during that time, our team wasn't even sure if it was working or not. The dataset contained over 90,000 images and unfortunately since we've never created a machine learning model, we didn't know how long it would take. We initialized our model to train over 3 cycles so that was 3x5 hours - 15 hours. Training it alone took a considerable amount of time since our deadline was June 20 at 12am, about 30 hours to create our project. Aside from training, we also had to spend some hours testing it, making sure the Edamam Nutrition API worked, and that our website took in an image and outputted accurate information. Other challenges included working with Visual Studio Code and their LiveShare extension. Allowing all of our teammates to access the application cut into some of our time to build the application.

Accomplishments that we're proud of

We're proud of creating a full web application, frontend and backend, and integrating a machine learning model. After training our model, it achieved a 99.6% accuracy rate against the training dataset. After spending a few more minutes testing it against the testing dataset, it returned a 90% accuracy rate.

What we learned

We learned a lot about machine learning. This was our first time creating a model so we watched many tutorials and broke down each step with comments.

What's next for Fora

Some of the new and exciting plans we have for Fora is releasing a mobile version since we are bound to reach a more diverse audience who may not have access to a laptop or computer.

Built With

Share this project: