Inspiration
Most people don't know what they are buying when they purchase food items. Something that seems safe to eat like cereal has lots of ingredients like artificial coloring and artificial flavor additives that are banned in the UK. Companies like to exploit this by hiding ingredients for consumables in hard-to-read lists with complicated names that can be hard to memorize. It is hard to learn about every single bad ingredient and difficult to know which one is healthier and cleaner. We wanted to help change that and let people make more mindful decisions about what they are putting in their bodies.
What it does
The app lets users log into their accounts to see their purchasing history and overall "clean score". Users can then add items to their shopping cart by scanning barcodes. Each time a barcode is entered the app sends a POST to our backend, where we analyze the ingredients and send the clean score and product information back. This item is then added to the shopping cart and you can see both the cart rating (average of all items in the cart) and the item rating. Once the user is done shopping they can press the checkout button to do self-checkout in participating stores and/or save the cart into the user's shopping history.
How we built it
The mobile application was built using Flutter, and the backend is handled in Python (Flask) and our data is stored in a pandas data frame. Everything from the UI to user authentication and all of the backend was built from scratch.
Challenges we ran into
It was very challenging to make the app with flutter since neither of us had built a flutter app in a while and the framework is very different from what we're used to. Authentication took a bulk of the time and it would have been easy to just avoid it but it was very useful in learning how to use providers.
Accomplishments that we're proud of
We are proud to have a working prototype with all the main functions. There is definitely lots of room for improvement, but with our limited experience in the framework and the time constraints we were under, it's nice to see that we were able to make something.
What we learned
Rohan: I had a long overdue refresher on how to use Flutter and learned more about the core Widgets and State Management in the framework. Prathisha: I learned a lot about APIs and how to build an API endpoint using Flask and Python.
What's next for Clean Cart
The next steps would include cleaning up the application, making a more robust authentication system, saving user data like cart history on a database, and integrating this application with stores that would like a mobile self-checkout system.

Log in or sign up for Devpost to join the conversation.