A visual, no-code platform for building AI-powered chatbots by connecting drag-and-drop nodes. Create custom workflows with document knowledge bases and Google Gemini AI integration.
- π¨ Visual Workflow Designer - Drag-and-drop interface powered by React Flow
- π€ AI Integration - Google Gemini 2.0 Flash for intelligent responses
- π Knowledge Base - Upload PDFs and enable semantic search
- π¬ Real-time Chat - Test workflows with interactive chat interface
- πΎ Workflow Persistence - Save and reuse workflows
- π Vector Search - Cosine similarity-based document retrieval
- π Execution Logs - Track workflow performance and token usage
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β FRONTEND (React + Vite) β
β - Visual workflow canvas β
β - Node configuration panel β
β - Chat interface β
ββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββββββββ
β REST API
ββββββββββββββββββββΌβββββββββββββββββββββββββββββββββββββββ
β BACKEND (Node.js + Express) β
β - Workflow execution engine β
β - LLM service (Gemini) β
β - PDF processing & embeddings β
ββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββββββββ
β Mongoose ODM
ββββββββββββββββββββΌβββββββββββββββββββββββββββββββββββββββ
β DATABASE (MongoDB) β
β - Workflows | Documents | Chat History β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
- Node.js 18+ (Download)
- MongoDB 6+ (Download or use MongoDB Atlas)
- Google Gemini API Key (Get Free Key)
# Clone repository
git clone https://github.com/yourusername/workflow-builder.git
cd workflow-builder
# Install backend dependencies
cd backend
npm install
# Install frontend dependencies
cd ../frontend
npm installBackend (.env):
cd backend
cp .env.example .env
# Edit .env and add your credentials:
# - GOOGLE_API_KEY=your_gemini_api_key
# - MONGODB_URI=mongodb://localhost:27017/workflow_builderFrontend (.env):
cd frontend
cp .env.example .env
# VITE_API_URL=http://localhost:5000# Terminal 1 - Start MongoDB (if local)
mongod
# Terminal 2 - Start Backend
cd backend
npm run dev
# Server runs on http://localhost:5000
# Terminal 3 - Start Frontend
cd frontend
npm run dev
# App runs on http://localhost:5173Open browser: http://localhost:5173
-
Drag nodes from left panel to canvas:
- User Query - Captures user input
- Knowledge Base - Retrieves context from PDFs
- LLM Engine - AI processing (Gemini)
- Output - Displays response
-
Connect nodes by dragging from output to input ports
-
Configure LLM node:
- Click node β Right panel
- Select Provider: Google Gemini
- Select Model: gemini-2.0-flash
-
Save workflow (blue Save button)
- Click Chat button
- Click π Upload PDF
- Select document β System extracts text and generates embeddings
- Click Chat button
- Type message: "What is AI?"
- AI responds using workflow configuration
| Layer | Technology | Purpose |
|---|---|---|
| Frontend | React 18 + Vite | UI framework & build tool |
| React Flow | Visual node editor | |
| Tailwind CSS | Styling | |
| Backend | Node.js + Express | REST API server |
| Mongoose | MongoDB ODM | |
| Database | MongoDB | Document storage |
| AI | Google Gemini API | Language model |
| Google Embeddings | Vector generation | |
| File Processing | pdf-parse | PDF text extraction |
workflow-builder/
βββ backend/
β βββ src/
β β βββ config/ # Database connection
β β βββ controllers/ # Request handlers
β β βββ models/ # MongoDB schemas
β β βββ services/ # Business logic
β β βββ routes/ # API endpoints
β β βββ server.js # Entry point
β βββ uploads/ # PDF storage
β βββ .env # Environment variables
β βββ package.json
β
βββ frontend/
β βββ src/
β β βββ components/ # React components
β β βββ hooks/ # Custom React hooks
β β βββ services/ # API client
β β βββ App.jsx
β βββ .env
β βββ package.json
β
βββ README.md
GET /api/workflows- List all workflowsPOST /api/workflows- Create workflowGET /api/workflows/:id- Get workflowPUT /api/workflows/:id- Update workflowDELETE /api/workflows/:id- Delete workflow
POST /api/documents/upload- Upload PDFGET /api/documents- List documentsDELETE /api/documents/:id- Delete document
POST /api/chat/query- Execute queryGET /api/chat/history- Get chat historyDELETE /api/chat/history- Clear history
# Backend tests
cd backend
npm test
# Frontend tests
cd frontend
npm test- Fork repository
- Create feature branch:
git checkout -b feature/amazing-feature - Commit changes:
git commit -m 'Add amazing feature' - Push to branch:
git push origin feature/amazing-feature - Open Pull Request
- React Flow - Visual workflow library
- Google Gemini - AI model provider
- MongoDB - Database platform
- PDF processing limited to text-based documents (no OCR)
- Maximum file size: 10MB
- Gemini API rate limits apply to free tier