Inspiration
Most energy tools tell people what they are consuming, but they don't make it easy to understand what would happen before making a change.
That led me to build ResourceTwin — a household energy decision-support tool based on a simple idea:
See the impact before you make the change.
I wanted to create something that turns energy decisions into something people can experiment with. Instead of simply saying "use less electricity," ResourceTwin lets a user model their household and test a decision — such as reducing an appliance's usage — to see how that change affects energy demand and estimated environmental impact.
How It Works
Users first create a household energy model by entering information such as household size, location, electricity source, appliances, and electricity cost. Solar information can also be included when relevant.
The core feature is the 'What-If Simulator'.
For example, a user can test:
- What if I reduce my oven usage from 3 hours per day to 1 hour?
- How much energy would that save each week?
- How would my estimated emissions change?
ResourceTwin recalculates the household model and compares the baseline with the hypothetical scenario. It shows the change in weekly and monthly energy demand, percentage reduction, and estimated carbon dioxide equivalent impact.
The recommendation layer then turns the modeled result into an actionable suggestion. The recommendation uses the same deterministic calculations as the simulator, so the numbers remain consistent.
How I Built It
ResourceTwin was built with:
- React + Vite for the application
- JavaScript for the energy and scenario logic
- Tailwind CSS for the responsive interface
- Recharts for energy visualizations
- Vitest for testing
- Vercel for deployment
The energy calculations are implemented as reusable functions rather than being tied directly to the interface. This made it possible to use the same calculation engine for the dashboard, What-If scenarios, environmental impact estimates, solar modeling, and recommendations.
The What-If Simulator creates a temporary scenario and compares it against the household's baseline. This means users can experiment with changes without permanently modifying their household data.
The recommendation architecture is also separated from the calculation engine. In this MVP, recommendations are generated deterministically from the modeled results rather than requiring an external AI API.
Challenges
One of the biggest challenges was making sure that every part of the application agreed on the same numbers. A scenario shown in the simulator should produce the same result when it appears in a recommendation, so I built the calculations as a shared deterministic layer instead of duplicating the logic across components.
Another challenge was modeling environmental impact and solar generation without pretending that the estimates were more precise than they actually are. ResourceTwin therefore presents these as modeled estimates using disclosed assumptions rather than claiming to provide exact real-world measurements.
I also had to make the application work across different screen sizes and handle different household configurations, including households without solar and households with different appliance setups.
What I Learned
Building ResourceTwin pushed me beyond simply creating a user interface. I learned how to structure a small simulation engine, compare baseline and hypothetical states, design a recommendation layer around deterministic data, model environmental impact, and connect all of those pieces into a usable product.
I also learned the importance of validating calculations independently from the UI and testing interactions across different device sizes.
What's Next
The current MVP focuses on household electricity demand. Future versions could incorporate more location-specific solar data, battery storage, time-of-use electricity patterns, and additional household sustainability decisions.
The long-term goal is to make ResourceTwin a practical decision layer for everyday sustainability — helping people understand the consequences of a change before they make it.
Built With
- climate
- css
- energy
- javascript
- react
- recharts
- solar
- sustainability
- tailwind
- vercel
- vite
- vitest
Log in or sign up for Devpost to join the conversation.