Thanks @adamfeldman. Parabola originally was pure JS: running the majority of each step function of the language in the user’s browser, making use of some python API endpoints and React and Immutable.js for some performance enhancements to know when steps needed to be calculated and rendered.
Given there are definite limitations with browser based JS and user’s systems, we’re now a fully cloud based compute environment. As users make changes in our React UI, we send the work to a queue and then distribute it by parsing the flow tree across various node worker servers so steps can run in parallel (if your flow is built that way). Each step is self contained and we then use sockets (powered by PubNub) to notify the UI of changes.