Inspiration

SnackChat started as an idea in the minds of four food enthusiasts who were looking for a more organized way to track their daily food intake. They wanted a platform where they could not only log their meals but also share their food experiences with their friends and the wider community.

After conducting brainstorming sessions, the team decided to build a mobile application that would allow users to track their meals by taking pictures of their food. The application would then use image recognition technology to identify the food and automatically log its nutritional information. Users could also manually add additional details about their meal, such as portion size, ingredients, and even location.

What it does

SnackChat allows users to track their calorie intake via a simple photo taken in real time. Image classifier powered by Ultralytics YOLOv8 runs on cloud to deliver real time predictions. The user stats and calories eaten are available on a dashboard; the user can also see what other ate this week via their feed.

How we built it

We built the mobile application using Flutter, a cross-platform framework. The application is connected to Google Firebase to retrieve user details and feed stream. For food predictions, they are sent to a cloud hosted Docker container that will run YOLOv8, running on Flask to deliver real time prediction.

Challenges we ran into

  1. Dockerising the backend model was hard as some packages require hidden dependencies and caused cloud deployment to be delayed

Accomplishments that we're proud of

  1. Model is able to deliver predictions that make sense, even if the prediction is not right (there's a chance the food is not in the training dataset for model)
  2. Clean UI and minimalistic pages for superior User Experience

What we learned

  1. How to deploy models on cloud
  2. Using Flask backend with Flutter

What's next for JSONLeague submission - SnackChat App

Let's present to judges!

Built With

Share this project:

Updates