Show HN: BambooGrid – Open-source web UI for power grid modeling and power flow
bamboo.kickstage.comHi HN, I am co-founder of Kickstage, a software company specializing in solutions for the electrical industry and lately grid operators.
We are hiring engineers from different backgrounds, a lot of them software developers with limited experience in the sectors. Deep domain knowledge is key in our industry however, so we are constantly teaching the basics of power flow analysis, active vs reactive power, transmission line properties etc.
With Jupyter notebooks and the Python console only, that's a tedious task and hardly ever led to a deep understanding of the topics.
So we built BambooGrid: a web-based editor on top of pandapower, a popular simulation library in our industry. You drag elements like buses, lines, loads generators and transformers onto a canvas, wire them up, set parameters and run power flow. It will print results directly on the canvas, color buses according to their voltages, even allows you to see an interactive admittance matrix.
You can try it out without installing anything on https://bamboo.kickstage.com (thanks to our friends at Hostzero who sponsored hosting). Start with one of the included samples or draw your own. Just don't forget to add a slack element.
Built on a Python backend (driven by the choice of pandapower mainly) and a React frontend. Fully MIT licensed, so feel free to use and modify to your liking. Even better: Give us feedback - we're extremely open to suggestions how to improve the tool and are glad about every user who learns a bit more about power systems through it.
Šime, who built most of this, is also in the thread. We are both happy to answer anything about the implementation or power systems in general.
Nice project.
Interactive visualizations usually make these kinds of concepts much easier to grasp than static diagrams.
I'm curious whether you've tried this with students or engineers who are completely new to power systems, and what kind of feedback you've received.
Thank you! We've tried it with engineers from other fields and it helped them understand the basic concepts needed to build software for e.g. grid operators.
Especially the visual admittance matrix has been useful (we'll publish a blog post how power flow and the admittance matrix works soon) as an introduction to the relevant algorithms.
whoa cool! I experimented doing something similar by getting the PyPSA project into WASM with a editor - https://fhk.github.io/PyPSA-lite/app
Very interesting project. We are still contemplating if / how we can integrate an interactive python shell in Bamboo. The challenges seem to be syncing the visual layer to the data structures in the shell and sand boxing properly as we don't want to lose the ability to offer this as a hosted version just for the ease of access.
This is super cool. Are you guys hiring remote engineers in Europe? I am an electrical engineer turned developer. I would love to be able to work on something that merges both to some extent.
We're always looking for people to bridge the gap between electrical engineering and software development. EU only due to the nature of the industry and our clients unfortunately. Just send a CV to career@kickstage.com
This is awesome! What sort of scale options are possible? In the demo I see all MW scale loads and sources, does it also function at kW or W?
Thanks for the feedback! We're mainly working with transmission systems, so that's where the MW scale comes from. I'll check whether we can add a scale selector, that's a great idea.
great project. i gave back all my electrical knowledge to my professor already. i love the idea of infinite canva; it would have helped me in my undergrad.
i just gave it a try, i cant connect shit... due to lack of ece in my head.
good luck!
Thanks for the kind words! Yes it's really meant as an educational tool that helps refreshing or teaching some context!
When you try to run power flow, make sure to either mark a generator as a slack or add an external grid element.
We published a basic tutorial here: https://kickstage.com/blog/modeling-and-simulating-power-gri...
Or you check out this super simple example: https://bamboo.kickstage.com/?s=ccnlYeEB