At the beginning of this competition, we were in quite a pickle
But then we stumbled upon an idea that was quite the pinnacle
of green technology, that costs hardly a dime, or even a nickel,
solving the problematical,
with the mathematical,
all with only your own vehicle,
74% of Canadians commute to work in a vehicle daily, according to the National Household Survey. Driving is indeed a part of our daily routine, yet we hardly realize how this common activity impacts the environment around us; in fact, a typical vehicle emits about 4.6 metric tons of CO2 per year. We believe that raising awareness is a key to reducing these harmful emissions, as most people are hardly aware of their individual impact - thus, we created Greenicle, a web application that allows users to you view car activity and reflect on their environmental impact while providing options to contribute to the community.
What it does
What initially started as an idea of "AirBnB for cars", which then lead to "Tinder for Cars", Greenicle is a simple to use, dashboard-style web application that leverages the Smartcar API to provide users with real-time data on their emissions and overall vehicle stats. Users connect their vehicles to smartcar, which then allows Greenicle to personalize the users dashboard with their unique information. The application features two main sections that give users stats and insights on their driving: an information section, featuring basic vehicle data such as make/model and its estimated retail value , and a summary statistics section which displays things such as visited locations, distance travelled, and environmental impact.
Greenicle provides three measures of environmental impact for the user: total CO2 emissions, their equivalent in lightbulb hours, and the number of trees that would need to be planted in order to offset the effect of these emissions. Alongside each statistic is a community average, which allows the user to gauge how much they contribute to our global carbon footprint. Moreover, Greenicle includes a link which allows users to plant a tree, so that they may immediately act to offset the impact of their emissions. Ultimately, Greenicle leverages the IOT we have regarding the vehicles we drive to make a positive impact on the world we live in, guiding us to be more responsible citizens and towards a more sustainable future.
How we built it
We created a clean UI with the use of React.JS, and powered our backend with Python and data storage with an Azure CosmosDB. We retrieve information from Azure Cognitive Services Bing Search API and an API built with Flask, however most of the data is gathered with the help of the Smartcar API, which also handles the log in. We also researched our own vehicle statistics to compute and estimate some data, including the retail value and community averages. All this was done on machines powered by Intel.
Challenges we ran into
As with any piece of software, we were not short of challenges to overcome. Some of the biggest challenges included finding accurate information to base our calculations off of and deploying our application to Azure.
We quickly learned that determining our calculations would not be easy, as established car-sales services and other websites do not make their methods of calculation obvious, and webscraping data posed a lot of issues, thus we ended up having to manually estimate a car price after analyzing some of the data we were able to find on the internet.
We also had trouble deploying our web app to Azure. This was mainly because Azure has limited capabilities when it comes to hosting Python code, which we used for our back-end (it tends to prefer languages such as C# or Node.JS). We spent a great deal of time looking over documentation to properly deploy our app, but in the end were unable to follow through with this plan due to time constraints. Due to this, we were unable to deploy two planned micro-services (built as Logic Apps on Azure): one to track location in order to provide pinpoints on our map, and the other to track odometer data to provide further insights to the user about their trends.
Accomplishments that we're proud of
We have built a full-stack application - integrating multiple languages, APIs, and frameworks - that is ready to be demoed and has the potential to be fleshed out into a truly fantastic application. Not to mention, we each learned a lot about working with various external resources and integrating different ideas, solutions, and approaches to ultimately create a beautiful, functional, and impactful piece of software.
What we learned
Working on Greenify gave us the opportunity to learn many new technologies, like Azure Application Services (including building Logic Applications and hosting web applications on the App Services), CosmosDB, Flask for Python, and the Smartcar API. We also learned how to work with noSQL databases and how to integrate React web applications with a Python-based back-end. Having used GitHub as source code management, we also learned about best-practices for API key storage, including encryption, setting and accessing environment variables, and the Azure Key Vault. Overall, we have spent the weekend learning lots about the entire app development process, and working as a team to create a product we are all proud of.
What's next for Greenicle
We have many exciting things in plan for the continued development of Greenicle. The first thing on our to-do list is to deploy Greenicle onto the Microsoft Azure Cloud so that we can begin providing our service to users all over the globe! This will also allow us to deploy and run our microservices, so that we can provide even more insights to users. We also plan to implement improvements to our data calculations, including the accuracy of the resale price tool and emissions calculation.
Further along in the future, we envision creating a community through Greenicle with the help of local trends and share features, as well as gamifying our application through "Green Incentives", both of which will further encourage users to interact with Greenify and, most importantly, incentivize them to take green initiatives that will help lead us all toward a more sustainable future!
Our Weekend by the Numbers
Pull Requests: 10
Redbulls Consumed: ????
Hours of Sleep: ~21 hours total (for all 4 of us, combined)
Junk Food Eaten: too much
Free Stuff Received: more than we can count
Stickers Stuck on Laptops: ~20
A big thanks to the organizers of U of T Hacks VI for providing us with such a great opportunity!
> "I still believe that there is a future in Tinder for Cars" - Volodymyr Klymenko