Inspiration

I would always see the 'lower your carboon footprint' recommendations by Microsoft in the settings app. I would implement the changes, but would never be consistent with them, as they often made my screen less visually appealing. So, I decided to make a website that would help me reduce my carbon fotprint through personalized recommendations that I could actually be consistent with.

What it does

When the user comes to the app, they will input their appliance type, voltage, and current, along with the hours per day. Once they input all their appliances, they will be greeted with a dashboard, in which they can see their monthly energy consumption and the monthly cost in a piechart(with all the appliances grouped together). THey will also be greeted with other metrics such as their monthly carboon footprint and the amount of trees needed to offset their carbon footprint. There is also a detailed analysis tab, in which they can see more graphs/charts on their energy consumption use, and see which appliance is using the most amount of energy. There is also an AI advisor, in which the user can ask some quick questions, or they can ask their own question related to their carbon footprint or their activities. There is also another tab where they receive personalized tips on how to reduce their carbon footprint, as well as comparisons between their appliances. The last tab is a tab on power factor education, where the user can learn what power factor is(how effectively electrical power is being converted into useful work), and get tips on how to make their energy efficient.

How we built it

I built the frontend using streamlit, HTML and CSS, and Plotly and Altair. The backend was built using Python, Pandas, Numpy, Boto3 & AWS Bedrock, and JSON files.

Challenges we ran into

One challenge that I ran into was a Streamlit error when displaying multiple Plotly charts. The error occurred because multiple st.plotly_chart() calls were using the same internal ID, which Streamlit doesn't allow. I fixed the error by assigning a unique key to each chart to avoid the duplication issue.

Accomplishments that we're proud of

I learned more complex libraries in Python such as Plotly and Pandas. I was also able to fix my Streamlit issue when displaying mutliple Plotly charts without taking too long and hindering my progress.

What we learned

I learned how to use Plotly and Altair, along with integrating AWS Bdrock and Claude Haiku.

What's next for CarbALizer

I could probably add a feature in which the user can evalute/provide feedbackon how good the AI's response is, and could program the AI to create/give responses that fits to the user's taste.

Built With

Share this project:

Updates