Talk to your database, get answers, visualize your data
Graph Talk is an AI-powered data visualization platform that transforms natural language questions into SQL queries and automatically generates intelligent chart recommendations. Perfect for marketers, analysts, and business users who need quick insights from their data without writing complex SQL.
- Ask questions in plain English or French
- AI automatically converts to optimized SQL queries
- No SQL knowledge required
- AI analyzes your data and suggests the best visualization
- Supports bar charts, line charts, pie charts, scatter plots, and more
- Confidence scoring for chart recommendations
- Interactive charts powered by Recharts
- Multiple chart types with smart defaults
- Responsive design for all devices
- Export charts as PNG, PDF, or SVG
- Export data as CSV or JSON
- High-quality outputs for presentations and reports
- English and French interfaces
- Localized responses and insights
- Instant query execution
- Performance metrics and insights
- Conversational AI responses explaining your data
- Node.js 18+ and Yarn
- PostgreSQL database
- OpenAI API key
- Clone the repository
git clone https://github.com/Novalya-Labs/graph-talk.git
cd graph-talk- Install dependencies
yarn install- Set up environment variables
Create .env files in both packages:
packages/server/.env
PORT=8888
DB_HOST=localhost
DB_PORT=5444
DB_USER=postgres
DB_PASS=postgres
DB_NAME=graph-talk
OPENAI_API_KEY=your_openai_api_key_herepackages/client/.env
VITE_APP_NAME=Graph Talk
VITE_API_URL=http://localhost:8888- Start the database
make db-up- Seed the demo database
yarn workspace @graph-talk/server seed- Start the development servers
# Terminal 1 - Start the backend
yarn dev:server
# Terminal 2 - Start the frontend
yarn dev:client- Open your browser
Navigate to
http://localhost:3333and start asking questions!
Try these natural language questions with the demo data:
- "What are the most expensive products?"
- "Show me the top customers by order count"
- "Which products are selling the best?"
- "List all users and their email addresses"
- "What's the average order value?"
- React 19 with TypeScript
- Vite for fast development and building
- Tailwind CSS for styling
- Radix UI components for accessibility
- Recharts for data visualization
- Zustand for state management
- Node.js with Express and TypeScript
- TypeORM for database management
- LangChain for AI-powered SQL generation
- OpenAI GPT-4 for natural language processing
- PostgreSQL database
- Natural Language Processing: User question → AI analysis
- SQL Generation: AI creates optimized PostgreSQL queries
- Data Analysis: AI analyzes query results
- Visualization Recommendation: AI suggests best chart type
- Insight Generation: AI provides conversational explanations
- Campaign Performance: "Show me conversion rates by marketing channel"
- Customer Segmentation: "Who are our highest-value customers?"
- Trend Analysis: "How have sales changed over the last quarter?"
- KPI Monitoring: "What's our monthly recurring revenue?"
- Product Analytics: "Which features are most popular?"
- Financial Reporting: "Show me profit margins by product category"
- Quick Exploration: Rapid data discovery without writing SQL
- Stakeholder Demos: Generate charts for presentations instantly
- Data Validation: Verify data quality with natural language queries
The platform uses OpenAI by default, but you can easily switch to other LLMs by modifying packages/server/services/query.service.ts:
// Replace OpenAI with your preferred LLM
const llm = new ChatOpenAI({
temperature: 0,
model: 'gpt-4o-mini', // Change this
apiKey: Env.OPENAI_API_KEY,
maxTokens: 1000,
});While this demo uses a sample e-commerce database, you can connect your own PostgreSQL database by:
- Updating the database configuration in
packages/server/configs/database.ts - Modifying the table descriptions in
packages/server/services/query.service.ts - Updating the AI prompts to understand your schema
The demo includes a sample e-commerce database with:
- Users: Customer information (id, name, email)
- Products: Product catalog (id, name, description, price)
- Orders: Order records (id, userId, createdAt)
- Order Items: Order details (id, orderId, productId, quantity)
# Development
yarn dev:client # Start frontend dev server
yarn dev:server # Start backend dev server
make dev-all # Start both servers
# Building
yarn build:client # Build frontend for production
yarn build:server # Build backend for production
# Database
make db-up # Start PostgreSQL container
make db-down # Stop PostgreSQL container
make db-restart # Restart database
yarn workspace @graph-talk/server seed # Seed demo data
# Code Quality
yarn lint # Run linter
yarn format # Format codeDo what you want with this
Graph Talk is developed by Novalya Labs, specializing in AI-powered business intelligence solutions.
Ready to transform how you interact with your data? 🚀