Inspiring people to make eco-friendly decisions has been a non-stop effort for years. Countless efforts have gone to waste simply because people are not interested in supporting the planet. By making an easy-to-use mobile app, we aim to inspire people to compete with one another for the highest score, dependent on the choices they make which affect the environment. We want to making eco-friendliness fun.

What it does

Viridian is a social initiative which aims to reduce the user's carbon footprint by calculating a carbon score from multiple sets of data. We allow users to create accounts in our database which track information on the user. This data will include the make and model of the user's vehicle, GPS tracking for traveling, methods of transport such as walking, biking, public transport, and personal vehicle use, and more. Viridian offers multiple incentives for a higher carbon score, such as perks both within the app and in the real world. We aim to make users treat eco-friendly behavior as a competition.

How we built it

The front-end interface of Viridian was built using MIT App Inventor. We chose MIT App Inventor for its ease of use, on account of three of our members designing an android app for the first time. We implemented One-DB for user authentication and data storage and retrieval. We also used ngrok for connecting the MIT App Interface and a website interface with One-DB authentication. One-DB keeps track of the current user's session, ensuring data created and accessed by the user is only intended for that user.

Challenges we ran into

There were many challenges we faced while building Viridian. MIT App Inventor is limited due to its simplified interface, meaning complicated commands such as javascript queries (used for One-DB data retrieval) are difficult to implement. We solved this by working with the One-DB developer to understand the HTTP API that One-DB is built upon. MIT App Inventor supports HTTP requests, so we were able to access and create data using that. Another challenge was also allowing login to One-DB for user authentication within our app. MIT App Inventor's webview is limited for webpages, so we had to work with the One-DB developer to alter the One-DB login interface to allow for mobile integration.

Accomplishments that we're proud of

We're very proud of how far we came with Viridian. 3 of our 4 teammates are first-time hackers, and creating an android app from the ground up was something all of us were not experienced with. Our integration with One-DB is another accomplishment, especially when paired with the limitations of MIT App Inventor. We're also proud that we contributed to the One-DB software - Viridian is the first-ever mobile integration of One-DB, and we had to work with the developer of One-DB to allow for proper user authentication. We also spurred the creation of the HTTP API in the One-DB documentation, which will allow future users of One-DB to more easily integrate One-DB into their program.

What we learned

Our team learned about the different options for Android development and the pros and cons of MIT App Inventor. We also learned how to integrate and develop with One-DB to properly create and store user data. In doing so, we also learned how to properly format JSON data, how to send and receive HTTP commands such as GET and POST, and how to connect two different services (MIT App Inventor and One-DB) through a web interface using ngrok.

What's next for Viridian

We plan to implement a fully-functioning carbon score for each user, dynamically updating depending on the actions the user takes. We want to redesign the user interface, using more robust software such as Android Studio, to create an interface that is easier to communicate with. We also want to develop the One-DB database we designed, storing more user information and accessing it in smart and creative ways. We want to integrate Viridian with other social media platforms such as Facebook and Twitter in order to garner more users for our platform. We also want to create custom hardware to interface with user's vehicles, perhaps using OBD-2, in order to collect more accurate vehicle information as well as GPS tracking to calculate the carbon score.

Built With

Share this project: