*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,

introducing: **Greenicle***

## Inspiration

74% of Canadians commute to work in a vehicle daily, according to the [National Household Survey](https://www12.statcan.gc.ca/nhs-enm/2011/as-sa/99-012-x/99-012-x2011003_1-eng.cfm). 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](https://www.epa.gov/greenvehicles/greenhouse-gas-emissions-typical-passenger-vehicle). 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

![Greenicle Dashboard](https://i.imgur.com/3KMEj6m.png)

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](https://www.smartcar.com/) 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

Commits: 90

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*
## Inspiration

Vehicle emissions account for a large percentage of North America's yearly carbon dioxide emissions. However, despite many efforts in the past, people remain reluctant to proactively make even small contributions to this generational issue. We believe that this lack of proactivity is due to a lack of reliable metrics to inform people about the changes they are able to enact upon their livlihoods to improve the world. To help people better visualize the changes they are capable of, we were inspired to create our DeltaHacks project.

## What it does

ClearSky Travelytics is a travel companion that grants insightful information about travel routes. Beyond just location data, Travelytics shares detailed information to promote good health and well being as well as environmental stewardship. Our vision is to provide travelers with a convenient way to analyze their carbon footprint along with various other greenhouse gas metrics accrued throughout their journey. Additionally, Travelytics encourages users to proactively seek a healthier lifestyle by demonstrating how walking and cycling can be an effective form of exercise, posing the question: "does practicing environmental mindfulness necessarily have to come as a disadvantage to yourself?"

## How we built it

We used the Google Maps API platform to create a Progressive Web App along with basic HTML, CSS, and JavaScript.
We chose Google Maps because we knew that we would need to retrieve location data in order to plot trips for our users, calculate various environmental and wellness metrics, and display a map of the overall route.
After discussing relevant features and the tools we wanted to use, we set off creating a simple prototype of our web app's design, building up important features one at a time.
Eventually, we were able to produce a solid final iteration of the app after major reworks, and we used Google Firebase to host our app online.

## Challenges we ran into

One of the most difficult challenges we ran into was decyphering the Google Maps API documentation. We had great trouble interpreting the code demos made available to us, and many times we felt that we found
seemingly blatant contradictions and impossibilities. Our team was able to come up with the idea for our project very early on, but we were unable to quickly agree upon a final design which met all our expectations.
Only in the very end, did we produce something we are proud to display.

## Accomplishments that we're proud of

We are proud of coming together to work together on an ambitious project, despite the fact that none of us are very well-versed in back-end architecture.
We are proud of the effort we put into creating such a difficult project, and we are happy that our app might present genuine utility to people who are concerned about their carbon footprint and health.
We are exceedingly proud that our project did not fail in its final stages!

## What we learned

We learned that during web design, it is never a good idea to develop responsive design starting from the desktop version. A small screen translates much better to a big screen than the other way around, where you have to squeeze around elements to make them fit on the page!
We learned that it is important to ideate and come together with a cohesive idea of what the project should strive to be.
We learned that Hackathons are exceedingly fun, and we are all looking forwards to more events in the future.

## What's next for ClearSky Travelytics

One of our group members has expressed interest in maintaining the current version of our app, perhaps even improving upon it and marketing it in the future.
## Inspiration

One of the greatest challenges facing our society today is food waste. From an environmental perspective, Canadians waste about *183 kilograms of solid food* per person, per year. This amounts to more than six million tonnes of food a year, wasted. From an economic perspective, this amounts to *31 billion dollars worth of food wasted* annually.

For our hack, we wanted to tackle this problem and develop an app that would help people across the world do their part in the fight against food waste.

We wanted to work with voice recognition and computer vision - so we used these different tools to develop a user-friendly app to help track and manage food and expiration dates.

## What it does

greenEats is an all in one grocery and food waste management app. With greenEats, logging your groceries is as simple as taking a picture of your receipt or listing out purchases with your voice as you put them away. With this information, greenEats holds an inventory of your current groceries (called My Fridge) and notifies you when your items are about to expire.

Furthermore, greenEats can even make recipe recommendations based off of items you select from your inventory, inspiring creativity while promoting usage of items closer to expiration.

## How we built it

We built an Android app with Java, using Android studio for the front end, and Firebase for the backend. We worked with Microsoft Azure Speech Services to get our speech-to-text software working, and the Firebase MLKit Vision API for our optical character recognition of receipts. We also wrote a custom API with stdlib that takes ingredients as inputs and returns recipe recommendations.

## Challenges we ran into

With all of us being completely new to cloud computing it took us around 4 hours to just get our environments set up and start coding. Once we had our environments set up, we were able to take advantage of the help here and worked our way through.

When it came to reading the receipt, it was difficult to isolate only the desired items. For the custom API, the most painstaking task was managing the HTTP requests. Because we were new to Azure, it took us some time to get comfortable with using it.

To tackle these tasks, we decided to all split up and tackle them one-on-one. Alex worked with scanning the receipt, Sarvan built the custom API, Richard integrated the voice recognition, and Maxwell did most of the app development on Android studio.

## Accomplishments that we're proud of

We're super stoked that we offer 3 completely different grocery input methods: Camera, Speech, and Manual Input. We believe that the UI we created is very engaging and presents the data in a helpful way. Furthermore, we think that the app's ability to provide recipe recommendations really puts us over the edge and shows how we took on a wide variety of tasks in a small amount of time.

## What we learned

For most of us this is the first application that we built - we learned a lot about how to create a UI and how to consider mobile functionality. Furthermore, this was also our first experience with cloud computing and APIs. Creating our Android application introduced us to the impact these technologies can have, and how simple it really is for someone to build a fairly complex application.

## What's next for greenEats

We originally intended this to be an all-purpose grocery-management app, so we wanted to have a feature that could allow the user to easily order groceries online through the app, potentially based off of food that would expire soon.

We also wanted to implement a barcode scanner, using the Barcode Scanner API offered by Google Cloud, thus providing another option to allow for a more user-friendly experience. In addition, we wanted to transition to Firebase Realtime Database to refine the user experience.

These tasks were considered outside of our scope because of time constraints, so we decided to focus our efforts on the fundamental parts of our app.