Evelyn fought climate change with Azure Functions 🌳
Using Serverless Functions and cloud computing, Evelyn built an application that helps reduce your personal carbon footprint by alerting users of regional power grid demand.
When starting out with small simple projects, it's easy to feel discouraged by how insignificant their impact might seem. But in this project, I tried my hand at keeping it simple, while tackling a bigger problem: climate change.
Flux aims to reduce a user's carbon footprint and mitigate fluctuations in demand by periodically informing them of their regional power grid's demand through SMS text messaging.#
I'll be showing you how to build this out yourself so you can decrease your carbon footprint too.
About Me:#
My name is Evelyn Chin (she/they) and I am a rising sophomore at Pasedena City College, majoring in Computer Science with a minor in Physics. Outside tech, I love badminton and playing the pino. I have interests in Effective Altruism, tech, empathy, and aerospace.
How it works:#
@7lwZseB6S7yKvUQttjSynw please make this
The web form accepts user input for...#
Your first and last name, a phone number to receive SMS alerts, and your state.
The Specifics#
Azure Function Timer Trigger:#
The Azure Function periodically shoots a signal every hour to request power demand data from the U.S. Energy Information Administration API. The Function calculates the quartiles of the average demand over the past 24 hours, and determines if the most recent demand data is an anomaly. If the demand from the previous hour is considered an outlier AND a change from the previous demand state, the Azure Function will send the message to the Twilio API. This serverless function was essentially the core of Flux, and without learning about cloud computing, I wouldn't have had a better solution than this.
U.S. Energy Information Administration API:#
There are many data-rich APIs out there, and the EIA's API is one of them. It provides "hourly electricity operating data, including actual and forecast demand, net generation, and the power flowing between electric systems." Along with the Twilio API, working with this one solidified my understanding of what APIs were, and how thye were used.
Twilio API:#
Twilio accepts the array of messages for each user and sends them to each mobile number based on the request from the Azure Function. Twilio proivded the best and most efficient way to contact users and demonstrated another use case for APIs.
CosmosDB:#
Azure Cosmos Databases receives and stores the inputted data as a document, which includes information used to call both APIs. As it was my first time working with a NoSQL database, I learned the differences between it and SQL and more skills related to storing data.
Making an impact with Serverless Computing#
Though simple SMS messages from Twilio may not seem helpful, on a large scale, Flux can help us reduce our carbon footprints one message at a time. If you want to see what my code looked like in the end, check out my Github repo for Flux!
Gratitudes:#
Thank you to BitProject for ultimately making this project possible by providing my a chance to learn more about serverless computing, and resources to develop Flux.