Node-RED is a flow-based, low-code programming environment for event-driven applications, primarily used in IoT, home automation, and API integration. The runtime is a Node.js server that manages a visual editor (browser-based) and a set of built-in nodes for common operations (HTTP, MQTT, file I/O, data transformation, etc.). The architecture is a modular monorepo with packages for the runtime, editor API, editor client, node registry, core nodes, and shared utilities. Flows are JSON configurations that define a graph of connected nodes, executed event-driven via message passing. The system supports plugins, subflows, context storage (with pluggable backends), projects with Git integration, and authentication strategies.