A powerful visual workflow builder with drag-and-drop interface, node-based editing, and real-time execution capabilities for creating complex automation workflows.
Workflow Builder is a sophisticated web application that provides a visual interface for creating, editing, and managing complex automation workflows. Built with Next.js and ReactFlow, it offers an intuitive drag-and-drop experience with node-based editing, real-time execution capabilities, and comprehensive workflow management features.
- Visual Workflow Design: Drag-and-drop interface for creating complex workflows
- Node-Based Editing: Comprehensive node library with various workflow components
- Real-Time Execution: Live workflow execution and monitoring capabilities
- Code Editor Integration: Built-in code editor for custom node configurations
- Conditional Logic: Support for conditional nodes and branching workflows
- Input/Output Management: Flexible input and output node configurations
- Process Automation: Automated process nodes for common workflow tasks
- Custom Edges: Customizable connections between workflow nodes
- Node Configuration: Detailed configuration panels for each node type
- Responsive Design: Fully responsive interface that works on all devices
- Modern UI: Clean, professional interface built with shadcn/ui components
- Next.js 15: React framework with App Router
- React 19: Latest React features and performance improvements
- TypeScript: Full type safety and better development experience
- ReactFlow: Powerful library for building node-based editors
- Tailwind CSS: Utility-first CSS framework for rapid styling
- shadcn/ui: High-quality, accessible UI components
- Radix UI: Unstyled, accessible UI primitives
- Geist Fonts: Modern typography with Geist Sans and Geist Mono
- Vercel Analytics: Performance monitoring and analytics
- Node.js 16 or higher
- npm or yarn package manager
- Clone the repository:
git clone https://github.com/bjornleonhenry/workflow-builder.git
cd workflow-builder- Install dependencies:
npm install- Run the development server:
npm run dev- Open http://localhost:3000 in your browser.
npm run dev- Start development servernpm run build- Build for productionnpm run start- Start production servernpm run lint- Run ESLint
workflow-builder/
├── app/ # Next.js app directory
│ ├── globals.css # Global styles
│ ├── layout.tsx # Root layout component
│ └── page.tsx # Main workflow builder page
├── components/ # React components
│ ├── workflow-builder.tsx # Main workflow builder component
│ ├── code-editor.tsx # Code editor component
│ ├── custom-edge.tsx # Custom edge component
│ ├── node-config-panel.tsx # Node configuration panel
│ ├── node-library.tsx # Node library component
│ ├── nodes/ # Node type components
│ │ ├── code-node.tsx # Code execution node
│ │ ├── conditional-node.tsx # Conditional logic node
│ │ ├── input-node.tsx # Input data node
│ │ ├── output-node.tsx # Output data node
│ │ └── process-node.tsx # Process automation node
│ └── ui/ # shadcn/ui components
├── hooks/ # Custom React hooks
├── lib/ # Utility functions
│ ├── types.ts # TypeScript type definitions
│ ├── utils.ts # General utility functions
│ └── workflow-utils.ts # Workflow-specific utilities
└── public/ # Static assets
- Canvas: Interactive canvas for building workflows
- Node Library: Comprehensive library of workflow nodes
- Configuration Panel: Detailed configuration for each node
- Code Editor: Built-in code editor for custom logic
- Execution Engine: Real-time workflow execution
- Input Nodes: Data input and parameter configuration
- Process Nodes: Automated processing and transformation
- Conditional Nodes: Logic branching and decision making
- Code Nodes: Custom code execution and scripting
- Output Nodes: Data output and result handling
- Save/Load: Workflow persistence and management
- Export/Import: Workflow sharing and collaboration
- Version Control: Workflow versioning and history
- Templates: Pre-built workflow templates
- Documentation: Built-in workflow documentation
- Create new node component in
components/nodes/ - Add node type to the node library
- Implement node configuration panel
- Add node execution logic
- Add new workflow utilities in
lib/workflow-utils.ts - Extend type definitions in
lib/types.ts - Create custom edge types for specialized connections
- Implement additional execution engines
The project uses Tailwind CSS with a comprehensive design system. Key styling features:
- Consistent node styling and theming
- Responsive canvas and interface
- Custom edge styling and animations
- Dark/light theme support
Create a .env.local file for environment-specific configuration:
# Analytics (optional)
NEXT_PUBLIC_VERCEL_ANALYTICS_ID=your_analytics_id
# Workflow Engine (optional)
NEXT_PUBLIC_WORKFLOW_ENGINE_URL=your_workflow_engine_url- Static Generation: Pre-rendered pages for optimal performance
- Code Splitting: Automatic code splitting for faster loading
- Canvas Optimization: Optimized ReactFlow rendering
- Memory Management: Efficient node and edge management
- Bundle Optimization: Optimized JavaScript and CSS bundles
- Chrome (latest)
- Firefox (latest)
- Safari (latest)
- Edge (latest)
Visit the live demo: https://workflow-builder.bjornleonhenry.com
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License.
Bjorn Leon Henry
- GitHub: @bjornleonhenry
- Website: https://bjornleonhenry.com
