-
-
Our logo!
-
The upper dashboard, displaying your global sustainability rating and the graph comparing it against the global average!.
-
The lower dashboard, displaying your sustainability ranking against your 'group' and a recommendation for a greener buying habit!
-
Your profile, where your total saved purchases are displayed with your sustainability percentile and how you compare to your 'group'!
-
A summarisation of our product's architecture, from the frontend displays to the backend storage!
What are our motivations for decarb?
Living in a world where sustainability is of utmost importance, we've heard of a lot of awesome solutions focusing on reducing corporate emissions.
But as a consumer, how can we best contribute? We realised that there really wasn't a good way to track emissions, particularly when looking at things like shopping; who wants to manually calculate carbon emissions for every product by looking up its composition?
So we built decarb. An AI-powered way to make the process of reducing your emissions not just a whole lot easier, but a whole lot cooler too.
What is decarb?
decarb allows you to scan anything you buy, and returns a carbon emissions report on the product. When you're considering buying a product, we use computer vision to scan the barcode, and it'll return a proprietary CarbonScore. What's more, after you finish your shopping, you can scan your receipt and get a total CarbonScore for your shop. We then analyse this data to generate insights on your carbon emissions.
But, the key to our app is reducing your carbon emissions. To do this, we have two core features. To start, using machine learning, we're able to group ('cluster') users together by their purchasing habits. As a result, based on similar users' purchasing data, we can use a recommender system employing collaborative filtering to suggest more sustainable alternatives to products that a user currently buys. These recommendations are personalised to each user, creating a streamlined user experience.
Beyond that, we've got a social feature we love - 'groups'. Users can form these with friends, and this brings a novel aspect of gamification to purchasing sustainably, as members of groups will have their own leaderboards, driven by our ranking systems. Members will be measured and ranked according to their weighted average on their CarbonScore. We think this brings a little more fun to the experience, and gives a much bigger incentive to be sustainable.
How did we build decarb?
Our frontend was built on the Flutter framework, surrounding Dart. This is partially because of the great versatility with both iOS and Android, but also because we wanted to set ourselves a real challenge. We thought that there was little point in us using a language that we knew inside-out, and took this hackathon as an opportunity to learn some more about other tech stacks. While going down the alternative route may have resulted in more progress, we couldn't have had more fun or learned more than what we did over the last 24 hours.
Our backend was built on Flask, where we use flask_restful to handle CRUD operations, combined with a future-proof Prisma schema linked to Supabase BaaS. Prisma's Python client enabled us to make complex queries to our backend with ease, whilst the robust schema streamlined our developer experience with Prisma's type-safety. Thanks to Supabase's BaaS, we were able to combine user authentication and DBMS into one service, and this sped up our progress even further.
In terms of ML & AI, we used a mixture of frameworks to best suit each individual instance of it in our application. This meant we had a wide array of supporting technologies, including advanced fuzzy string-matching, significant pre-processing with OpenCV, and a massive amount of data generation.
What challenges did we face?
We faced a lot of challenges throughout, but we 100% believe that these only improved our final product. We faced some issues when developing the back-end and handling database requests, particularly when we were looking at testing our computer vision systems on our phones.
Moreover, we did find that generating the data for some of our models was a little troublesome, and a little more time to generate testing data and would have been useful for our app.
What did we learn?
However cliché the phrase, we really believe that communication is key to success in a collaborative project. The reason we were able to make this much progress, despite all the challenges we faced, is our focus on team chemistry, collaborative management of our product backlog, and most importantly, maintaining a high morale when we encountered problems. Thanks to this, we were able to deal with anything that came our way, often requiring intense brainstorming sessions (with some pretty good food...).
In terms of technologies, we became familiar with mobile development in Flutter -- both of which none of us have any experience in, and similarly, none of us have comprehensive experience in both Prisma and Supabase, making it genuinely rewarding to produce a functional application with this stack.
Another extremely useful skill that we refined was working with version control systems -- Git and GitHub in particular. Whilst we were all aware of general Git functionality, we became notably more comfortable in dealing with VCS in collaborative environments after dealing with uncountable merge conflicts under the the time pressure.
What's next for decarb?
Thanks to our future-ready backend, we have significant leeway to build even further on our functionality. The public release is still to be determined, but we 100% believe in the viability and value of our product, and look forward to expanding it more.


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