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.
Preloaded with Olist Brazilian E-Commerce — no upload required
Under the hood
Every query runs through a multi-step LLM orchestration pipeline with self-healing retries and token-level streaming.
Keyword-matched table filtering against column names, semantic types, and AI-generated descriptions.
Detects follow-up references, anaphora, and modification language from the last 3 conversation turns.
Short-circuits with 2–3 clarifying options if the question has multiple valid SQL interpretations.
Classifies multi-step need; decomposes into ordered temp-table steps when chained aggregations are required.
Streams DuckDB SQL with full schema, sample rows, join confidence hints, and business context injected.
Parses and validates every table/column reference against the actual schema before touching the database.
Validated SQL runs against a session-scoped DuckDB connection attached read-only to the dataset file.
Up to 3 retries — each pass feeds the failed SQL and all accumulated errors back for correction.
On exhausted retries, converts raw DuckDB errors into targeted user-facing questions instead of a stack trace.
Suggests 3 analytical follow-ups from different angles — filters, comparisons, trends — based on the result shape.
Computed badge counting table joins, aggregation count, CTE and subquery presence, and retry depth per query.
Saves question + SQL + result columns to a sliding 3-turn window for downstream follow-up context.
Capabilities
Features that signal analytics domain knowledge, not just an LLM wrapper.
Pipeline stages and explanation text stream token-by-token with a typewriter effect as Claude generates.
Failed queries retry up to 3× with the full error log fed back to Sonnet — hallucinated columns get corrected.
Checks for multiple valid interpretations before generating SQL and asks rather than guessing wrong.
Upload N CSVs as one dataset. Relationships auto-detected by sampling _id column value overlap with confidence scoring.
Expandable context panel shows every table with row counts and column types — plus user-added business context hints injected into every query.
Datasets are tied to the browser session and cleaned up on tab close via sendBeacon — no orphaned files.