Hello, I am Zoya, a high school student from Abidjan, Ivory Coast.
Inspiration
The world’s energy consumption is on an upward trajectory, with global demand growing by approximately 1% to 2% each year. Households are significant contributors to this surge, with residential energy use accounting for a notable share of global energy consumption. The challenge we face is not just in the quantity of energy used but also in the efficiency of its use.
Statistics: The average household’s energy expenditure is substantial, and a staggering 35% of this energy is wasted, often through inefficient appliances and lack of energy-saving practices.
Cost: This inefficiency isn’t just about energy; it’s a financial strain too. The typical U.S. household spends around $1,368 on energy annually, with idle devices alone contributing up to $165 to this figure.
What it does
For this hackathon, I am proposing an educational platform called EcoHabitat. This aims to encourage individuals to learn more about the energy consumption of different household applications and then make mindful decisions. The fun elements added in this application will motivate the younger generation to use it. This project aims to contribute towards the following Sustainable Development Goals (SDGs):
SDG 11: Sustainable Cities and Communities SDG 12: Responsible Consumption and Production SDG 13: Climate Action
Feature: WattCalculator
This is a fun feature where users can estimate their daily household energy consumption by filling out the given form. They can check mark the used appliances and specify the number of hours they were used for.
Then, they will get a rough estimate for their daily energy consumption along with some thought provoking stats for example monthly costs as well as resources used to create this amount of energy like pounds of coal burnt or number of trees destroyed etc.
Feature: WattSearch
With our fun Watt Search feature, you can upload an image of a home appliance and we will tell you its approximate minimum, maximum, and standby energy consumption per hour. There might be appliances that are not detected yet but we will keep working on improving our data collection.
Feature: User Profile
Users can evaluate how their daily average energy consumption (in Watts) changed over the past months. We can also have a gamification aspect such that users can build up streaks if they regularly use the app. This can encourage them to use it more often.
Feature: Event Directory
This is a curated list of global events where young minds can learn more about sustainability.
How we built it
- React js
- Next js
- HTML/CSS
React libraries such as:
- recharts
- Material UI
- react-icons
ml5.js
Landing Image: StorySet
Image Classification:
For the WattSearch feature, I utilized ml5.js's ImageClassifier. ML5 is a library that allows users to play around with machine learning models within their browsers. In older days, we might have needed a high computational computer in order to run machine learning models. However, with ml5, we can just run models in our browser without having to worry about computing power. In this case, I have used the pre-trained model MobileNet.
You can read more here:
https://learn.ml5js.org/#/reference/image-classifier
https://arxiv.org/abs/1704.04861
After obtaining the predicted results from the ImageClassifier, I then cross checked them with my saved data to see if I have any info regarding that object's energy consumption. If yes, I displayed it to the user.
Challenges we ran into
React + Next: I have only worked with React once before so putting everything together was quite some challenge but luckily there are a lot of resources online 🙈. There were also a lot of Next Rendering/window issues so a lot of time was consumed by debugging.
Setting up ml5: Initially, I tried the image classification with a stand-alone html/js page. This worked after some hit and trial but the real challenge was integrating this within a React app for a better looking UI.
Finding data: I couldn't find a lot of interesting datasets for household energy consumption which I could have used for implementing any machine learning models (for example for predictions).
MobileNet's limitations: The pre-trained model wasn't able to identify all potential household applications. Especially if there are other objects within the picture frame as well.
React Hooks were also new to me.
Accomplishments that we're proud of
Overcoming challenges described above. Since I haven't worked with React much before, I went through different open source projects to take inspiration on how to structure my code/components/pages etc.
What's next for EcoHabitat
- Improving data: Adding info about more household applications
- Custom Image Classification Model: We can use Google's Teachable Machine to train our own model with various different household applications but that would require huge datasets.
- User Login/Signup page
- A backend / database where all the energy consumption and user data is stored
Local Setup
NPM Installation
https://radixweb.com/blog/installing-npm-and-nodejs-on-windows-and-mac
npm install next@latest react@latest react-dom@latest
npm install @mui/material @emotion/react @emotion/styled
Run the project
Run:
npm run dev
Open http://localhost:3000/ in your browser.
Test Images
You can test the WattSearch feature with the images here public/images/wattsearch

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