Flow-based programming is a programming paradigm that defines applications as networks of black-box processes that exchange data through message passing. These processes can be reconnected without internal changes to form different applications. Flow-based programming was invented in the 1970s and has been used continuously in a major bank since. The paradigm promotes writing programs as text streams that communicate, following the Unix philosophy. Flow-based programming can be used in Node.js apps through the NoFlo library, which allows specifying flows as a DSL and running flows in a web-based interface or for integration with external systems.