Inspiration
I got the idea for Nodoryx because most energy dashboards seem to stop at showing numbers. They can tell you how much power a building is using, but not always what caused a sudden spike, whether it is about to become a bigger problem, or what should actually be done next.
I wanted to build something that felt more active than a normal dashboard. Instead of only monitoring a building, Nodoryx tries to detect unusual behavior, predict short-term risks, and test possible actions before an issue gets worse.
What it does
Nodoryx is a digital twin for building energy systems. It simulates different environments such as a school, hospital, home, and factory, with separate devices, solar generation, batteries, grid limits, and backup power.
Users can trigger scenarios like an EV charging surge, HVAC failure, solar drop, or hospital power outage. Nodoryx then tracks how the situation affects the building, detects unusual device behavior, forecasts future demand, and suggests possible actions.
The important part is that the recommendation is not just text. If an action is applied, the actual simulation changes too, so the new demand, forecast, grid usage, and impact can be seen.
How I built it
I built the project mainly with TypeScript and React, using Vinext, Vite, CSS, Node.js, and Vercel.
The core of the project is the simulation engine. It calculates device demand, solar generation, battery behavior, grid import, backup power, energy cost, and emissions. I also added statistical anomaly detection, short-term forecasting, recommendation logic, different emergency scenarios, and automated tests for the main calculations.
The current prototype uses simulated data rather than real building hardware.
Challenges
The hardest part was making sure everything was actually connected.
For example, when I trigger an EV charging surge, the EV chargers need to draw more power, that needs to increase the building's total demand, the anomaly detector needs to notice it, the forecast needs to change, and Nodoryx needs to generate a useful recommendation.
Then, when that recommendation is applied, the system has to update again instead of just pretending the problem was solved.
Hospital mode was another challenge because I had to make sure critical equipment could never be selected for load reduction, even during an outage.
What I learned
The biggest thing I learned was that making a system internally consistent is much harder than just making a dashboard look realistic.
I also learned a lot about modeling energy systems, handling shared application state, testing simulation logic, and designing features so that users can understand why the system is making a recommendation instead of just being given a black-box answer.
Nodoryx is still a prototype, but I think it shows how energy monitoring could become more useful by helping operators understand what is happening, what may happen next, and what they can safely do about it.
Built With
- 19
- cloudflare
- compiler
- css3
- eslint
- git
- github
- html5
- javascript
- node.js
- react
- responsive
- typescript
- vercel
- vinext
- vite
- workers
- wrangler
Log in or sign up for Devpost to join the conversation.