Inspiration

Not knowing what you're eating, as simple as it may sound, is a large reason as to why people go through dozens if not hundreds of diets over their lifetime and never meet their goals. ScanBite is a simple tool that you can seamlessly integrate into your everyday life to ensure that what you're eating follows your dietary and nutritional goals.

What it does

ScanBite uses a plate-to-pic model for user interaction. It allows users to take or upload a picture to the website and instantly receive feedback on its nutritional value. Plates are given a rating 1-100 based on nutritional value for each of the following categories: Overall, protein, fiber, vitamins.

ScanBite.tech

We used the .tech domain to help us break down the barriers and truly disrupt reality. With a tech first approach, ScanBite is more than a nutrition app. We operate by the .tech domain, innovating on every feature and keeping our tech as fresh as our customers. We use cutting edge technology throughout our stack, utilizing deep learning models to analyze your meal, and SvelteKit (less than a year old!) and Tailwind to present your meals nutritional ratings and bring you a beautiful UI.

Mobile Compatible

We made ScanBite into a progressive web app (PWA), meaning that although it was not developed for the mobile devices natively, it can be downloaded to your phone and used as an app. The design is fully responsive and ensures a native like use on all platforms.

How we built it

We utilized a plethora of brand new tech from the front to back of our stack. We started by testing, in a plain JavaScript file, the output of Clarifai and if it was something we would be comfortable using. After we were pleased with the results, we continued the project by porting the script over to a server file in SvelteKit. After the server to client communication was working, we began the front-end, using Tailwind to make a simple but attractive UI that all users can understand. We finished by manipulating ChatGPT to get an expected set of responses and ratings to display to the end user.

Challenges we ran into

From hacking to hosting, we encountered many problems throughout the last 24 hours. The first of the large bugs we had was in the client and server communication. Accepting images from the user on the client, processing the images in the backend, and then sending the information back to the client proved more difficult than we thought and introduced us to new Asynchronous programming problems. Also, getting the ChatGPT output right each time in order to fill the graphs took a bit of trial and error as well as prompt engineering. Finally, we faced trouble in bringing our ScanBite.tech domain to life. Files in the folder of a managed host like Vercel cannot be changed as simply, and would need to be stored in a blob storage or database to be retrieved later.

Accomplishments that we're proud of

We are proud of what we created, what we learned, and our collaboration. We're proud to present a finished product with the features we had initially planned on. We judged the timing perfectly and with some hard work pulled off something we agree looks and works amazingly. We were successful in delegating tasks amongst each other and played to our strengths.

What we learned

We learned more deeply about data recognition models. It was a challenge at first to decipher the data but figuring out how the model judged and returned results coupled with accuracy is a skill that is important for the field of deep learning. We also learned more about prompt engineering and how to get a specific output from ChatGPT on a consistent basis. Finally, utilizing SvelteKit, we learned more deeply about the client and server communication and considerations that need to be made for smooth communications.

What's next for SnapBite

If given more time, we would like to implement the ability for users to get more personalized ratings, introducing accounts with information saved about your goals and previous meals. We would additionally test with different food classification and text generation models and compare one another to see what gives us the most accurate output. Finally, we would like to host this product publicly but are currently limited by our hosting solution. In the future, we would like to add blob storage and databases in order to create the fully functioning app you see locally.

Built With

Share this project:

Updates