A sophisticated data engineering and analytics platform featuring an AI chat agent that can create workflows, analyze data, and automate business processes.
- Mission-Critical Accuracy Mode - Never guesses or assumes, always verifies
- Four Operational Modes:
- π Planning - Strategic thinking and approach planning
- π¨ Building - Create workflows, datasets, and artifacts
- π Analyzing - Data analysis and insights
βΆοΈ Running - Execute existing workflows
- Streaming Responses with Server-Sent Events (SSE)
- File Upload Support for data analysis
- Conversation Persistence with SQLite
- Policy Enforcement - Mandatory, not optional
- Visual Graph Editor with React Flow
- 17 Node Types from SAV system:
- Filter, Dedupe, Summarize, Join
- Pivot, Unpivot, Transform, Time Series
- Upload, Destination, Bot, Add
- External connectors (Airtable, GitHub, Facebook, Atlassian)
- Agent-Generated Workflows - Chat creates workflows automatically
- Save/Load to SQLite database
- Frontend: React 19, Tailwind CSS 4, React Flow, Lucide Icons
- Backend: Express.js, TypeScript, sql.js (pure JavaScript SQLite)
- AI: Google Gemini API with streaming
- Database: SQLite with full schema for workflows, conversations, logs
cd sav6
npm installCreate .env.local:
GEMINI_API_KEY=your_api_key_here- Start the application
- Navigate to Settings
- Enter your Gemini API key
- Click Save
Get your API key from Google AI Studio
Option A: Run both together (Recommended)
npm run dev:allOption B: Run separately
Terminal 1 - Frontend:
npm run devTerminal 2 - Backend:
npm run server- Frontend: http://localhost:3000
- Backend API: http://localhost:3001
- Database: Auto-created at
data/database.sqlite
- Navigate to Chat (first item in left navigation)
- Select a mode: Planning, Building, Analyzing, or Running
- Ask questions or describe what you need:
- "Create a workflow to filter customer data from California"
- "Analyze sales trends for Q1 2024"
- "Set up a data pipeline for customer segmentation"
- Upload files for data analysis
- Agent will:
- Ask clarifying questions
- Create workflows with proper node configurations
- Generate datasets and markdown documentation
- Provide mission-critical, accurate responses
POST /api/chat/message- Send message with streaming responseGET /api/chat/history/:conversationId- Get conversation historyGET /api/chat/conversations- List all conversations
GET /api/workflow- List all workflowsGET /api/workflow/:id- Get workflow detailsPOST /api/workflow- Create workflowPUT /api/workflow/:id- Update workflowDELETE /api/workflow/:id- Delete workflow
POST /api/upload- Upload single filePOST /api/upload/multiple- Upload multiple files
GET /api/settings- Get all settingsGET /api/settings/:key- Get specific settingPOST /api/settings- Set settingDELETE /api/settings/:key- Delete setting
sav6/
βββ server/ # Express backend
β βββ index.ts # Server entry point
β βββ database.ts # SQLite database
β βββ routes/ # API routes
β β βββ chat.ts # Chat endpoints
β β βββ workflow.ts # Workflow CRUD
β β βββ upload.ts # File uploads
β β βββ settings.ts # Settings management
β βββ services/ # Business logic
β βββ llm.ts # Gemini integration
β βββ prompts.ts # System prompts
βββ src/ # React frontend
β βββ views/ # Page components
β βββ Chat.tsx # Chat interface
β βββ Settings.tsx # Settings page
βββ data/ # Runtime data
β βββ database.sqlite # SQLite database
β βββ uploads/ # Uploaded files
βββ md-library/ # Policy/skills/knowledge
- workflows - Workflow metadata
- nodes - Workflow nodes with configs
- edges - Node connections
- conversations - Chat conversation metadata
- chat_messages - Individual messages
- execution_logs - Workflow execution history
- settings - API keys and configuration
- Swiss Minimalism - Clean, grid-based layouts
- Brand Color: #6453FF (Savant Purple)
- Mission-Critical UX - No ambiguity, always clear
- Progressive Disclosure - Show complexity when needed
- Workflow-First - Everything revolves around workflows
npm run lintnpm run buildnpm run clean- One-off Requests - Quick data analysis via chat
- Exploration - Discover patterns and insights
- First Deliverable - Create initial workflows
- Repeat Workflows - Save and reuse workflows
- Full Automation - Schedule and monitor workflows
- Documentation - Generate MD files for processes
Change ports in:
- Frontend:
vite.config.ts(default: 3000) - Backend:
server/index.ts(default: 3001)
Ensure data directory exists:
mkdir -p data/uploads- Verify key in Settings page
- Check browser console for errors
- Ensure backend server is running
- Test with
/api/healthendpoint
This is a proof-of-concept for the Savant Labs platform. The system demonstrates:
- AI-powered workflow generation
- Mission-critical agent behavior
- Real-time streaming chat
- Visual workflow editing
- Local-first data storage
Proprietary - Savant Labs
Built with β€οΈ for Data Engineers and Analytics Teams