visual-node
visual-node is a visual, node-based backend builder for Node.js. You drag nodes onto a canvas, wire them together, and hit Compile — the tool generates real, readable, git-friendly Express.js source code from your flow.
:::info What this is not
visual-node is a codegen tool, not a runtime interpreter like Node-RED or n8n. Nothing
from it ships inside the servers it generates — the output is plain CommonJS
Express code with a normal package.json, meant to be read, committed, and hand-edited
by a developer afterward, not hidden behind the tool forever. It's also a local,
single-project editor, not a hosted or multi-tenant service.
:::
How it works
A flow is a graph of nodes (express.init, express.route, handler.sendJson,
logic.function, custom-code escape hatches, and more — see the Node
Reference) connected by wires representing either execution order
or data. Compiling walks that graph and emits plain CommonJS Express source into your
project directory.
Your flows are saved as .blueprint files that live alongside the generated code in a
normal, committable project folder — there's no hidden project format and no server-side
state beyond what's on disk. A project can span multiple .blueprint files: write
reusable functions in one file, export the ones you want to share, and require() them
from another — see Configuration and the Node
Reference's Logic section for logic.export/logic.require.
What you get out of the box
- The full Express request lifecycle, visually: app initialization, middleware (built-in JSON body parsing or your own custom middleware), routing, and handlers. Or run plain logic files without Express — switch modes in Settings.
- An escape hatch everywhere you need one: a code-mode Handler Function and
middleware.customCodelet you drop in raw JavaScript wherever the visual nodes don't cover your case — see the Node Reference for both. - Programming primitives: named variables, functions (either hand-typed or authored
as a nested visual graph with recursion support — see Function Graphs & Blueprint
Mode), arithmetic/comparison/boolean
operators, and control flow (
Branch,Switch,Sequence). - npm package support:
require()an installed package, or your own local module. - A plugin system: describe an entirely new node type as a single JSON file — no TypeScript, no rebuild, no restart. See Plugins.
- Project execution modes: configure whether your project runs as an Express server (auto-detected or manually configured) or as a plain Node.js script.
Where to go next
- Getting Started — install visual-node and compile your first flow.
- Configuration — environment variables and how the project directory is resolved.
- Core Concepts — the flow model: nodes, edges, execution vs. value pins, and how code generation actually works.
- Node Reference — every built-in node type, with its ports, config fields, and a worked example.
- Plugins — write your own node types.
- Examples — five complete, runnable worked flows.