Climate change is an extremely important issue at hand, and we realize that we could use our programming skills to help fight climate change by creating apps that inspire generations of people to care about their environment and pursue sustainability.
What it does
The name of our project is called "iCycle". iCycle is a novel way to encourage people to integrate recycling into their lives and live in a sustainable manner. It uses advanced machine learning algorithms to enable users to identify whether an item is recyclable with just a snap of their camera. The app then allows users find the nearest recycling facilities in their vicinity and gives specific directions to get there. Furthermore, our app uses the latest statistics from the US government and credible organizations to calculate people's carbon footprint and compare it to the average American's. Finally, iCycle uses a leaderboard and points system to encourage users to continue recycling.
How I built it
Since iCycle is an app developed for Android OS, we used the IDE called Android Studio to develop our app, along with the version control system Git with GitHub. We used a computer vision API developed by Google to process the images users snap with their camera to identify the type of the object in the picture. From this, we used a combination of our own algorithms along with information from databases to determine whether the object identified in the picture was recyclable or not. We then used the built-in location services on Android phones to determine the closest recycling facilities based on the user's current location. Based on this information, we were able to sort the recycling facilities from nearest to furthest, and even provide directions to the recycling facilities on Google Maps. For the carbon footprint, we researched data and information from various government and organization websites and came up with an equation that took in the user's yearly costs and gave their yearly carbon footprint and compared it with the average American's. The leaderboards work by recording whenever a user has snapped a picture of an object that was recyclable. Whenever a user takes a picture of an object that is recyclable, the user is given points, which are stored on a server. These points are then retrieved from the server and sorted to form the leaderboards. Each user must sign up with an email, username, and password, so the server is able to differentiate between the points of different users.
Challenges I ran into
There were a number of challenges we ran into while developing iCycle. When creating the feature where users take a picture of an object and identify whether it's recyclable, we had some trouble tailoring the results the Google Vision API and reading the information we got from databases to tailor the information so that it displayed whether the object was recyclable. Another challenge we had was creating a server and configuring the server to store emails, usernames, passwords, and the points of the users, and then reading the information off from the server to present in a good manner.
Accomplishments that I'm proud of
Some accomplishments we felt proud of while making iCycle were having the app successfully identify whether the object taken by the camera was recyclable or not. Another accomplishment we felt proud of was figuring out how to use location services to show the user the nearest recycling facilities and showing the directions.
What I learned
We learned a lot about the version control system Git, as well as the IDE Android Studio, and app development in general.
What's next for iCycle
We plan to improve the GUI of iCycle and improve the feature where objects are identified as recyclable or not using the camera.