Talk to your database
in plain English.
Paste a connection string or upload a CSV/XLSX. Ask anything. A team of specialized AI agents — coordinated by a graph orchestrator — writes the SQL, profiles the data, builds the charts, and runs the models. You just read the answers.
Not mockups. This is SelectStar running.
Every screenshot below is the actual app — swipe through to see the connection screen, the SQL agent's query result, a Vega-Lite chart, and the ML agent's clustering output.
Connect a database or upload a spreadsheet
SelectStar has two modes. SQL Mode connects to a live database. Classic Mode parses your CSV or XLSX into in-memory SQLite tables — the agents treat them like any database, and you can edit cells directly.
SQL Mode
Paste a connection string for SQLite, PostgreSQL, or MySQL. SelectStar introspects the schema, caches a snapshot, and the agents can query, profile, chart, and model any table.
- SQLite via better-sqlite3 (file path or 'demo' for the bundled e-commerce DB)
- PostgreSQL via pg (postgresql:// connection string)
- MySQL architecture-ready (implement one class)
- Schema introspection via information_schema with 3s per-table timeout
type "demo" for the bundled e-commerce DBClassic Mode
Drop one or more CSV, TSV, XLSX, XLSM, XLSB, or ODS files. Each file is parsed into in-memory SQLite tables (one table per XLSX sheet), and the agents treat them like any database.
- Upload .csv, .tsv, .txt, .xlsx, .xlsm, .xlsb, or .ods (25 MB per file)
- Each XLSX sheet becomes its own table — JOIN across sheets and files
- Edit cells, add/rename/delete rows and columns in the spreadsheet grid
- SQL queries see edits live — the spreadsheet and SQLite are the same object
.csv · .tsv · .xlsx · .xlsm · .xlsb · .ods (25 MB each)Watch six agents answer one question
A real turn: the Router classifies intent, the SQL agent executes a query, then EDA and Viz run in parallel before Synthesis streams the reply. 7.4 seconds, end-to-end.
7.4 seconds end-to-end
Router → SQL → fork(EDA, Viz, ML) → Synthesis. Fork-join parallelism is ~42% faster than a ReAct loop.
Read-only by default
Zen mode gates writes. The SQL agent is the only agent that can construct or execute SQL.
Graph, not a loop
Conditional edges, not unbounded reasoning. One retry on failure, then a clean structured error.
Six agents, one orchestrator, zero loops
Each agent has one job, a small toolset, and a focused system prompt. The orchestrator decides which agents run — not the user, not the agents.

AgentState flows through conditional edges. EDA, Viz, and ML run in parallel after a SELECT (fork-join).Why a graph orchestrator beats a reasoning loop
Most AI agents run in a ReAct loop — the LLM repeatedly decides what tool to call. That's flexible but unreliable for databases. SelectStar uses a graph with conditional edges instead.
ReAct loop
The LLM is given a list of tools and left to repeatedly output Thought → Tool Call → Observationuntil it decides it's done. Flexible — but unreliable for databases.
- Can wander, hallucinate queries, or enter infinite loops
- Write safety is probabilistic — relies on system prompts
- Sequential execution — no fork-join parallelism
- Full history passed every step — high token cost
SelectStar graph
The Router classifies intent up front, then deterministic edges route to the right agents. EDA, Viz, and ML fork-join in parallel. Synthesis is the only agent that writes prose.
- Deterministic edges — Router classifies intent up front
- Write safety hard-coded at the graph edge (Zen mode)
- Fork-join: EDA, Viz, ML run in parallel after a SELECT
- Per-agent scoped context — ~45% token savings
← Drag the handle to compare. Same question, very different execution.
Four pillars of the architecture
Agent pipeline, safety & control, canvas artifacts, and connectivity (including Classic Mode for spreadsheets).
Agent Pipeline
Six specialized agents — Router, Schema, SQL, EDA, Viz, ML — coordinated by a graph orchestrator. Each agent has one job, a small toolset, and a focused system prompt. The orchestrator decides which agents run, not the user, not the agents.
- Router classifies intent & picks agents
- SQL agent writes & executes queries
- EDA agent profiles & computes stats
- Viz agent emits Vega-Lite specs
- ML agent: regression, k-means, forecast
- Synthesis streams the final reply
Safety & Control
Zen mode is non-negotiable. Read-only by default. Writes are intercepted at the graph edge, never auto-executed. Every write resolution — executed, rolled-back, cancelled, or failed — is audit-logged with the SQL text, timestamp, and row count.
- Read-only by default
- Zen-mode toggle for writes
- Per-write confirmation UI
- Dry-run with rollback
- Full audit log
Canvas Artifacts
Every turn produces structured artifacts in the canvas pane alongside the chat reply. Tables, charts, SQL, statistical profiles, and model results — each rendered as a typed component with export buttons. No copy-pasting from a terminal.
- Query result tables
- Vega-Lite charts (SVG)
- Syntax-highlighted SQL
- Statistical summaries
- Model results with metrics
Connectivity & Classic Mode
Two ways to get data into SelectStar: connect a live database (SQLite, PostgreSQL, MySQL-ready) or upload spreadsheets (CSV, XLSX, ODS). Classic mode parses each file into in-memory SQLite tables — the agents treat them like any database, and you can edit cells directly.
- SQLite via better-sqlite3
- PostgreSQL via pg
- CSV / XLSX / ODS upload
- Any OpenAI-compatible LLM
- Demo DB included
From clone to first answer in four steps
No config files, no separate server. SelectStar ships with a demo e-commerce database so you can try the full agent pipeline immediately.
Clone & install
Clone the repo and run bun install. SelectStar pulls in Next.js 16, Prisma, better-sqlite3, pg, react-vega, and framer-motion.
Seed the demo DB
Run the seed script to create db/demo.db — 6 tables, ~3,200 orders, ~8,000 line items. Realistic e-commerce data.
Start the dev server
bun run dev starts Next.js 16 with Turbopack on port 3000. Open localhost:3000 — you'll see the connection screen.
Type 'demo' & ask
Type 'demo' in the connection field, click Connect. Try: 'How many orders by status?' or 'Cluster products by price and stock'.
Common questions, answered
The things every team asks before installing SelectStar.
Ready to talk to your database?
Open the live app, type “demo”, and ask your first question in 60 seconds. No install required.



