Canopy is inspired by the world’s shifting views on the ethics of computational processes, which continue to change as we keep learning more about the environmental costs of each line of code. Despite these environmental changes, developers have no real way to tangibly see the impact that their code has on sustainability. As the tech industry confronts increased energy consumption, water usage, and carbon emissions, Canopy offers a way for developers to do just that and see the real-world impacts of their code.
Canopy is a VS Code Extension that operates within the editor, paired with a dashboard. It analyzes your code for patterns that lead to reduced sustainability, such as excessive polling and N+1 database queries. Canopy then translates these resource costs into measurable real-world equivalents. Rather than displaying a number such as 12.0 kWh consumed per month, it shows that the power could have been used to power 2 houses, which is much easier for gauging the real impact of a feature. Our dashboard then presents suggestions that would reduce your SCI score by modifying your code. These changes and the impact on sustainability can then be viewed in nodes, showing how much water, energy, and carbon have been saved.
We began by creating a general idea that we wanted to follow, and after a very rough draft was created, each of us began to focus on improving different features, whether it was on the dashboard or the VS Code extension. It was extremely crucial that we had everything in the back-end running smoothly before we began making changes to UI, adding new features, a visually appealing landing page, and creating a demo test to show how our program worked. After that, we were able to continue making minor changes to improve what we built, with each version looking even more polished, which was well worth it despite the many bugs we encountered and had to fix that came about from our changes.
One challenge we came across was our ability to collaborate and work together to create a polished project. Because there was no real way to work together on the same code and see real-time updates from other collaborators, we had to divide the work up more and make sure everything was able to function together as a final product. However, rather than decreasing our teamwork, this only fueled our collaboration even more, encouraging us to converse and become well-versed in each layer of the canopy and how they came together.
We’re extremely proud of Canopy’s ability to visualize data in a way that allows developers to really see the true impact of their work. Our work with Canopy goes deeper into revolutionizing technology sustainability, and we hope that this tool is able to encourage a new culture around environmental sustainability in technology, with a polished user experience that feels smooth and easy to learn.
While working on Canopy, we learned that the biggest obstacle in the path of technological sustainability is visibility and exposure, rather than a lack of technical skill or tools. We also learned how important it is to model data in a way that shows the real-world importance of sustainability and connect the data to the developer so that it becomes a priority to them as well.
The next step for Canopy is to further improve access of the program to complete even more functions within the VS Code editor itself. There are so many endless possibilities for Canopy, and just some of our ideas include features such as being able to recognize unsustainable code patterns commonly repeated by the developer, and using it to create alerts to help the developer change the way they code into a more sustainable way long-term. Additionally, we’d like to expand our dashboard to be capable of fully integrating into an organization’s short-term and long-term planning by setting achievable goals pointed toward increasing the sustainability of an organization as a whole, and tracking progress that the organization has already made as a collective in increasing technological sustainability.


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