PipelineX is a full-stack visual workflow builder that allows users to design pipelines by dragging, connecting, and configuring modular nodes.
It combines an interactive React Flow–based editor with a FastAPI backend for structural validation, making it suitable for AI workflows, automation pipelines, and data processing graphs.
- Drag-and-drop node creation
- Connect nodes via input/output handles
- Grid-snapped canvas with minimap & controls
- Unified node abstraction for rapid extensibility
- Multi-select and keyboard-driven deletion
- Input
- Output
- Text (supports
{{variable}}handles) - LLM
- Number
- Condition
- Delay
- Merge
- API Request
All nodes share a common base abstraction, enabling consistent styling and behavior while minimizing duplicated logic.
- Auto-resizing text input
- Dynamic input handles generated from
{{variable}} - JavaScript-safe variable validation
- Real-time node layout updates
- Counts total nodes
- Counts total edges
- Detects whether the pipeline is a Directed Acyclic Graph (DAG)
- Prevents circular dependencies in workflows
- Clean, unified design using Tailwind CSS
- Smooth animations with Framer Motion
- Accessible modal notifications
- Keyboard shortcuts (Ctrl / Cmd + Enter to submit)
| Layer | Technologies |
|---|---|
| Frontend | React, React Flow, Zustand, Tailwind CSS |
| Backend | FastAPI, Python, Uvicorn |
| Animations | Framer Motion |
| Tooling | Node.js, npm |
PipelineX/
│
├── backend/
│ └── main.py
│
├── frontend/
│ ├── public/
│ ├── src/
│ │ ├── nodes/
│ │ ├── store/
│ │ ├── components/
│ │ ├── submit.js
│ │ ├── toolbar.js
│ │ └── App.js
│ ├── .env
│ └── package.json
│
└── README.md
git clone https://github.com/DhirajKarangale/PipelineX.git
cd PipelineXcd backendWindows
python -m venv venvmacOS / Linux
python3 -m venv venvWindows
venv\Scripts\activatemacOS / Linux
source venv/bin/activatepip install -r requirements.txt
uvicorn main:app --reloadBackend runs at: http://localhost:8000
Create a .env file inside the frontend directory:
REACT_APP_API_URL=http://localhost:8000Replace the URL if your backend is hosted elsewhere.
cd frontend
npm install
npm startFrontend runs at: http://localhost:3000
- Open the application in your browser.
- Drag nodes from the toolbar onto the canvas.
- Connect nodes using input/output handles.
- Configure node properties inline.
- Click Submit (or press Ctrl / Cmd + Enter).
- View pipeline statistics and DAG validation in the modal.
- Persist node configuration to global store
- Execute pipelines step-by-step
- Export / import pipeline JSON
- Type-safe schema validation
- Execution logs & runtime visualization