Open-Source No-Code AI Virtual Agent Builder
Features • Screenshots • Installation • Usage • Architecture • Node Types • AI Integration
IVAkit is a visual conversation builder and runtime execution engine for Intelligent Virtual Agents (IVAs). Designed for contact centers, CX teams, and AI engineers who want to create sophisticated conversational AI without the complexity.
- 🏠 100% Local-First – Run everything on your infrastructure
- 🎨 Visual Builder – Drag-and-drop flow design with 9 node types
- ⚡ Real-time Simulator – Test flows instantly with step-by-step debugging
- 🤖 AI-Powered – Optional local Ollama or cloud AI integration
- 📋 Deterministic – AI is a tool, not magic; everything is inspectable
- 🌙 Premium UI – Modern dark/light themes with smooth animations
The primary interface for building conversation flows. Drag nodes from the palette, connect them, and configure each step.
Test your flows in real-time with the built-in simulator. See intent detection, confidence scores, and execution timing.
Step through every node with full input/output inspection. See exactly what data flows through your conversation.
- Drag & Drop Canvas – Build flows visually with React Flow
- 9 Node Types – Start, Message, Collect Input, LLM Router, Knowledge Search, Tool Call, Condition, Escalate, End
- Real-time Validation – Instant feedback on flow errors
- Undo/Redo – Full history with keyboard shortcuts (Ctrl+Z / Ctrl+Y)
- Dark & Light Themes – Toggle with one click
- Export/Import – Save flows as JSON, share with teammates
- Keyboard Shortcuts – Press ? for full reference
- Live Execution – Test flows as you build
- Intent Detection – See how LLM classifies user messages
- Confidence Scores – Understand AI certainty
- Step-by-Step Debug – Inspect every node's input/output
- Token & Latency Metrics – Monitor performance
- Reset & Replay – Quick iteration
- JSON Flow Definitions – Version-controlled conversation logic
- Session State – Maintains context across turns
- Channel Agnostic – Works with any frontend
- Deterministic – Reproducible except for LLM calls
- Full Audit Logging – Every decision is traceable
- Node.js 20+ (required)
- pnpm 8+ (required)
- Ollama (optional, for local AI)
# Clone the repository
git clone https://github.com/ryanshatz/IVAkit.git
cd IVAkit
# Install dependencies
pnpm install
# Run in development mode
pnpm devThe application will open at http://localhost:3000
For production or isolated environments:
# Start all services
docker-compose up -d
# Services available:
# - Studio: http://localhost:3000
# - API: http://localhost:3001
# - Ollama: http://localhost:11434For enhanced AI capabilities without cloud dependencies:
# Install Ollama (https://ollama.ai)
curl -fsSL https://ollama.ai/install.sh | sh
# Pull a model
ollama pull llama3.2
# IVAkit auto-connects to localhost:11434- Drag nodes from the left palette onto the canvas
- Connect nodes by dragging from one handle to another
- Configure nodes by clicking to open the right panel
- Validate – Check the status bar for any errors
- Click "Simulate" in the header
- Type messages in the chat input
- Watch the Debug tab to see execution
- View intent detection and confidence scores
| Shortcut | Action |
|---|---|
Ctrl+Z |
Undo |
Ctrl+Shift+Z |
Redo |
Ctrl+S |
Save flow |
Ctrl+E |
Export flow |
Ctrl+I |
Import flow |
Ctrl+D |
Duplicate node |
Delete |
Delete node |
? |
Show help |
IVAkit/
├── apps/ # Applications
│ ├── studio/ # Next.js visual builder
│ │ ├── src/
│ │ │ ├── app/ # Pages and layouts
│ │ │ ├── components/ # React components
│ │ │ └── store/ # Jotai state management
│ │ └── package.json
│ │
│ └── api/ # Hono API server
│ └── src/
│ ├── router.ts # tRPC routes
│ └── context.ts # Request context
│
├── packages/ # Shared packages
│ ├── shared/ # Types, schemas, utils
│ ├── database/ # Drizzle ORM + SQLite
│ ├── runtime/ # Flow execution engine
│ └── ai/ # AI provider adapters
│
└── docs/ # Documentation
├── flow-spec.md # Flow specification
└── screenshots/ # App screenshots
| Layer | Technology |
|---|---|
| Frontend | Next.js 14, React 18, TypeScript, Tailwind CSS |
| State | Jotai, React Flow |
| Animations | Framer Motion |
| Icons | Lucide React |
| Backend | Hono, tRPC, Bun |
| Database | SQLite (via Drizzle ORM) |
| AI | Ollama (local), OpenAI, Anthropic |
IVAkit includes 9 specialized node types across 4 categories:
| Node | Icon | Category | Purpose |
|---|---|---|---|
| Start | 🟢 | Flow Control | Entry point with welcome message |
| End | ⬛ | Flow Control | Terminate with goodbye message |
| Condition | 🔀 | Flow Control | If/else branching logic |
| Message | 💬 | Communication | Send response to user |
| Collect Input | 📝 | Communication | Gather and validate user input |
| Escalate | 🚨 | Communication | Human handoff to agent queue |
| LLM Router | 🧠 | AI & Intelligence | AI-powered intent classification |
| Knowledge Search | 📚 | AI & Intelligence | RAG retrieval from knowledge base |
| Tool Call | 🔧 | AI & Intelligence | External API integration |
- LLM Classification – AI analyzes user messages with system prompts
- Keyword Matching – Fallback rules-based detection
- Conditions – Variable-based branching with operators
IVAkit supports multiple AI providers with a unified interface:
| Provider | Type | Models |
|---|---|---|
| Ollama | Local | llama3.2, mistral, gemma |
| OpenAI | Cloud | gpt-4, gpt-4o, gpt-3.5-turbo |
| Anthropic | Cloud | claude-3-opus, claude-3-sonnet |
| Rules | Fallback | Keyword-based (no AI) |
- LLM Router nodes send user messages to the configured provider
- System prompt includes all defined intents with descriptions
- Structured output returns intent name and confidence score
- Routing – Flow continues to the matching intent's target node
| Feature | Ollama (Local) | Cloud (OpenAI/Anthropic) |
|---|---|---|
| Privacy | ✅ 100% local | Data sent to provider |
| Speed | ~1-2 seconds | ~0.5-1 second |
| Cost | Free | Per-token pricing |
| Setup | Requires Ollama | API key only |
| Offline | ✅ Yes | ❌ No |
| Version | Focus | Features |
|---|---|---|
| v0.2 | Enhancement | Flow versioning, variable types, webhook channel |
| v0.3 | Voice | WebRTC, Twilio Streams, speech-to-text |
| v1.0 | Enterprise | Multi-tenant, RBAC, deployment pipelines |
| Beyond | Ecosystem | CCaaS integrations, A/B testing, plugin marketplace |
IVAkit IVAs are systems, not chatbots.
- Deterministic first, LLM second – AI is a tool, not magic
- Local-first by default – Run everything on your infrastructure
- No magic hidden behavior – Everything is inspectable
- Composable artifacts – Flows are versioned JSON
MIT License - See LICENSE for details.
- React Flow – For the visual graph editor
- Ollama – For local LLM inference
- shadcn/ui – For beautiful components
- Framer Motion – For smooth animations
- tRPC – For type-safe APIs
- Drizzle – For database ORM
Built with ❤️ for Contact Centers
© 2026 IVAkit • v1.0.0



