Getting Started with Full Stack
Full Stack projects compose multiple Loom projects into a single deployable application. Import existing projects as layers — a Weave AI backend, a Streamlit frontend, a NetworkX analytics service — wire their boundaries together, and generate a runner that starts everything with one command.
When to Use Full Stack
Use a Full Stack project when you have multiple Loom projects that need to run together as a single application. Common patterns:
- Backend + Frontend — A Weave AI server graph providing an API, a Streamlit or Gradio app for the UI
- Service mesh — Multiple agent projects coordinating through shared environment variables
- Pipeline — A data processing project feeding results to a visualization project
Creating a Full Stack Project
- On the dashboard, click New Project
- Select Full Stack App as the project type
- Name your application
The Full Stack Editor
The editor has a different layout than framework-specific editors:
- Layers panel — Lists imported project references
- Config panel — Startup order and shared environment variables
- Variables panel — Named input/output variables for the composite
- Composite graph — The canvas where you wire layers together
Quick Start
Import layers — Open the Layers panel and click Add Layer. Select any saved project with named variables (inputs and outputs). Each imported project becomes a Layer Reference node on the canvas.
Wire the graph — Add a Launcher node (entry point), connect its exec output to each Layer Reference node. If layers need to exchange data, wire output ports from one layer to input ports on another — these become environment variable bindings in the generated runner.
Configure — Set startup order (parallel or sequential) and any shared environment variables in the Config panel.
Generate — Click Generate to produce the full application. Each layer's code is generated independently, placed in a
layers/directory, and arunner.pyorchestrates startup and wiring.
Generated Output
layers/
backend/ # Layer 1's generated code
frontend/ # Layer 2's generated code
runner.py # Starts all layers, wires config
requirements.txt # Combined dependencies
README.md
Running the Output
pip install -r requirements.txt
python runner.py
The runner handles starting each layer process, injecting shared environment variables, and wiring data between layers via environment variable bindings.