An AI data analyst
that speaks SQL.

Upload any CSV, ask questions in plain English, and get instant answers with auto-generated SQL, charts, and KPI cards — streamed live as the model thinks.

Try the demo

Preloaded with Olist Brazilian E-Commerce — no upload required

Under the hood

12-stage query pipeline

Every query runs through a multi-step LLM orchestration pipeline with self-healing retries and token-level streaming.

01
Schema ResolutionDuckDB · SQLite

Keyword-matched table filtering against column names, semantic types, and AI-generated descriptions.

02
Context DetectionClaude Haiku

Detects follow-up references, anaphora, and modification language from the last 3 conversation turns.

03
Ambiguity CheckClaude Haiku

Short-circuits with 2–3 clarifying options if the question has multiple valid SQL interpretations.

04
Query PlanningHaiku + Sonnet

Classifies multi-step need; decomposes into ordered temp-table steps when chained aggregations are required.

05
SQL GenerationClaude Sonnet

Streams DuckDB SQL with full schema, sample rows, join confidence hints, and business context injected.

06
Static Validationsqlglot

Parses and validates every table/column reference against the actual schema before touching the database.

07
ExecutionDuckDB

Validated SQL runs against a session-scoped DuckDB connection attached read-only to the dataset file.

08
Self-Healing LoopClaude Sonnet

Up to 3 retries — each pass feeds the failed SQL and all accumulated errors back for correction.

09
Failure ClarificationClaude Haiku

On exhausted retries, converts raw DuckDB errors into targeted user-facing questions instead of a stack trace.

10
Follow-Up GenerationClaude Haiku

Suggests 3 analytical follow-ups from different angles — filters, comparisons, trends — based on the result shape.

11
Complexity Scoringsqlglot

Computed badge counting table joins, aggregation count, CTE and subquery presence, and retry depth per query.

12
Turn PersistenceSQLite

Saves question + SQL + result columns to a sliding 3-turn window for downstream follow-up context.

Capabilities

Built for real data work

Features that signal analytics domain knowledge, not just an LLM wrapper.

Live SSE Streaming

Pipeline stages and explanation text stream token-by-token with a typewriter effect as Claude generates.

Self-Healing SQL

Failed queries retry up to 3× with the full error log fed back to Sonnet — hallucinated columns get corrected.

Ambiguity Detection

Checks for multiple valid interpretations before generating SQL and asks rather than guessing wrong.

Multi-Table Datasets

Upload N CSVs as one dataset. Relationships auto-detected by sampling _id column value overlap with confidence scoring.

Schema Viewer

Expandable context panel shows every table with row counts and column types — plus user-added business context hints injected into every query.

Session-Scoped Uploads

Datasets are tied to the browser session and cleaned up on tab close via sendBeacon — no orphaned files.