Default post hero

BambooGrid – Bringing Power-Grid Simulation to the Browser

Backend
Frontend
Energy
Power systems
Simulation tool


Kickstage builds software for the energy sector and power-grid applications. BambooGrid grew directly out of that work — a tool we wanted to exist, and one we've now released to the community.



Kickstage designs and develops software for power-system engineering, grid analysis and critical energy infrastructure. BambooGrid demonstrates how we combine electrical-engineering expertise with modern web architecture to turn complex analytical workflows into accessible, production-ready applications.

Power-system analysis has traditionally depended on specialized desktop software, commercial licenses, or a carefully configured local Python environment. Before connecting a new solar plant, battery, industrial load, cable, or transformer to a network, engineers need to answer concrete questions:

  • Will bus voltages stay within limits?
  • Could a line or transformer overload?
  • How much power is imported from — or exported back to — the wider grid?

These questions are answered by power flow and short-circuit analysis, and until now getting to an answer meant a heavy setup step before any real work could begin.

BambooGrid is an open-source, browser-based application for visually modeling and analyzing electrical power networks. Built on pandapower, it allows engineers, energy professionals, researchers, students, and developers to create multi-voltage networks using a drag-and-drop editor and run load flow or IEC 60909 short-circuit calculations directly in the browser.
No desktop installation, local Python environment, or commercial software license is required.

The Challenge

Power-systems simulation sits behind a steep barrier to entry. The engineering itself is demanding, but so is simply getting to a working environment:

  • Established tools are desktop-bound, license-gated, or require a hand-configured Python stack before a single bus can be drawn
  • Sharing a network for review, teaching, or collaboration usually means shipping files and hoping the recipient has a compatible environment
  • Scripting libraries like pandapower are powerful but code-first, with no visual, interactive way to build and inspect a network
  • Results are typically read from tables rather than seen on the diagram, which slows down intuition and learning
  • Nothing lightweight lets an engineer prototype a substation layout, a student run their first load flow, or a developer explore a research network — all in the same place, in a browser

We wanted a tool that preserved the full analytical fidelity of pandapower while removing every bit of setup friction between an engineer and their first calculation.

Kickstage's Solution: BambooGrid

Kickstage designed and built BambooGrid from the ground up as a browser-native modeling and simulation environment that keeps a real pandapower network as its source of truth, so nothing is lost in translation between the visual editor and the solver.

The application combines a visual editor with an authoritative pandapower network running on the backend. This means the interface remains responsive and intuitive while the underlying network model stays compatible with a professional power-system calculation engine.

BambooGrid can support workflows for utilities, transmission and distribution system operators, renewable-energy developers, engineering consultancies, research organizations, universities, and energy technology companies.

Key features of BambooGrid include:

  • Visual drag-and-drop grid modeling — build multi-voltage-level networks on a canvas and wire elements together directly
  • A broad element library — buses, external grids (slack), generators, static generators (for PV, wind, and storage), loads, shunts, SVCs, lines, bus–bus switches, two- and three-winding transformers with tap changers, plus advanced xward and series-impedance elements
  • Load flow simulation powered by pandapower's Newton-Raphson solver, with configurable algorithm, tolerance, and slack handling
  • IEC 60909 short-circuit analysis (3-phase, max), with fault levels reported per bus, , allowing engineers to inspect prospective short-circuit currents directly within the same environment used for network modeling and load flow analysis.
  • Results painted onto the diagram — bus color reflects voltage deviation from nominal (green/amber/red), sources show solved active and reactive power, and transformers and lines show loading percentage
  • Import and export as pandapower JSON, carrying the diagram layout so networks round-trip perfectly; plain pandapower nets from scripts or research papers get an automatic layout
  • Shareable links that hand the recipient an independent, editable copy while leaving the original untouched
  • Google sign-in and cloud saves for a persistent personal grids library, with fully functional guest sessions for anyone who just wants to start building
  • Single-container deployment for anyone who wants to run it themselves

Technical Implementation

Building a browser-based simulator that stays faithful to a professional-grade solver required a deliberate architecture: the browser is a rich editor, but it never becomes the source of truth. BambooGrid combines power-system engineering software with a modern web application stack.

Our architecture is built around a few core decisions:

  • Server-side pandapower network as the single source of truth. Each editing session holds a full pandapower net on the backend, persisted in PostgreSQL. The browser receives only a projection of it and mutates the authoritative net through a stream of commands. Elements and attributes the editor doesn't yet model are preserved on the server and still influence every solve.
  • Projection + command sync. Edits are applied optimistically in the UI, batched, and debounced before being flushed to the backend — and always flushed before a solve, export, or share. Optimistic versioning detects stale state across pods and triggers a clean resync, so the app scales horizontally without corrupting a session.
  • A diagram layer that never touches the physics. Layout and stable element identity live in custom diagram tables carried on the pandapower net itself. The solver ignores them, but they let networks export and re-import with the canvas exactly as it was left.
  • Security-first import. pandapower JSON can, in principle, carry code-execution gadgets, so every import is walked against a structural allowlist before deserialization, with size and bus-count caps to bound memory.
  • Deployment as a single Docker container. The FastAPI backend serves the built React SPA as static files, so the UI and API share one origin. The only external dependency is a PostgreSQL database for session persistence.

Core Technologies

  • Python 3.10+ with FastAPI for the API layer, with CPU-bound solves run in a thread pool behind a concurrency limiter to keep the service responsive
  • pandapower as the calculation engine for load flow, short circuit, and admittance-matrix computation
  • PostgreSQL for durable session, sharing, and cloud-save storage
  • React 18 + TypeScript + Vite for the frontend, with React Flow (XYFlow) powering the interactive canvas and Mantine for the UI
  • Zustand for optimistic client-side state and elkjs for automatic diagram layout of imported networks
  • Google Identity Services + JWT for optional sign-in and a personal grids library
  • Docker for single-container, single-origin deployment


PostgreSQL

PostgreSQL

React

React

Typescript

pandapower

PandaPower

python

Python

Fast API

React flow

Mantine

Docker

Docker

Project Timeline and Evolution

BambooGrid moved quickly from an internal idea to a public, open-source release:

  • Built as an internal tool to remove the setup friction we kept hitting in our own energy work
  • Grew into a full multi-voltage-level editor backed by a live pandapower network per session
  • Expanded from load flow into IEC 60909 short-circuit analysis, Y-bus and network-summary views, and a wide element library including three-winding transformers, SVCs, and advanced equivalents
  • Added sharing, Google sign-in with cloud saves, embeddable views, and mobile-friendly read-only access
  • Publicly released as open source under the MIT License, with a hosted live demo and a guided set of example networks — including the classic IEEE 14-bus benchmark
  • Actively developed, with CGMES export identified as the next major step on the roadmap



Results and Impact

BambooGrid turns power-flow exploration into something anyone can do in a browser tab:

  • Zero setup — no desktop install, no local Python environment, no license; open the page and start modeling
  • Full pandapower fidelity preserved end to end, so results match what engineers expect from the underlying library
  • Faster intuition — results appear directly on the diagram instead of in tables, making effects like reverse power flow and transformer loading immediately visible
  • Effortless collaboration — a single link gives colleagues or students their own editable copy, ideal for reviews, courses, and workshops
  • Interoperability — native pandapower JSON means networks from scripts, papers, or other tools can be visualized and solved without redrawing
  • Open and self-hostable — MIT-licensed and shippable as a single container, with contributions welcome for new element types, CGMES export, and UI improvements


We kept a real pandapower network as the source of truth on the server, so the browser stays fast and nothing the solver cares about is ever lost. That's what makes BambooGrid faithful enough for real power-grid engineering — and safe to open up to anyone on the web. Professional power-grid simulation used to mean heavy desktop tools. We put it in the browser — pandapower fidelity, zero setup, open to everyone
Šime Pavlić
Lead Backend developer at Kickstage

Conclusion

BambooGrid reflects Kickstage's ability to take deep domain complexity — in this case professional power-systems simulation — and make it genuinely accessible without compromising on correctness. By pairing pandapower's proven engine with a browser-native editor, an authoritative server-side model, and a friction-free deployment story, we built a tool that serves engineers prototyping a substation, students running their first load flow, and anyone curious about how the grid that powers their home actually works. It's open source, it's live, and it's built to grow with the community.

Try it at bamboo.kickstage.com, explore the code on GitHub (github.com/kickstage/bamboogrid), and if you find it useful, consider giving the repository a star. A big thank you to Hostzero for supporting the hosted version.


Let’s realize your project

Looking for technical expertise to plan and implement digital solutions, allowing you to focus on your core business? We are here to support you. Visit us to discuss your requirements in person or contact us via the details below.

Contact us

Office

Radnička cesta 47, 10000, Zagreb, Croatia

Social

Ljubo Radoš

Ljubo Radoš

CEO