The numbered shots are the full-page chat against a PostgreSQL database. The web-* shots are
the zero-backend demo, where DuckDB-WASM queries a file in the browser tab with no server.
Connection picker (two DBs), the generated SQL shown before it runs, the plain-language
explanation, and the result table. Note the BIGINT value 1000000249999 preserved exactly.
The result is category + numeric, so a Chart toggle appears; the bar chart is inline SVG,
theme-aware (y-axis auto-formats to 1.0T).
The host page has a bottom-right "scroll to top" button, so the bubble is mounted
bottom-left (position: 'bottom-left') - no overlap. Closed, then open:
When a run fails (here an edited query references a column that does not exist), the error is plain-language and the app offers a corrected query with an "Apply suggested fix" button - it never auto-runs.
An unreachable connection surfaces a plain "Can't reach the database right now." with a Retry button - no stack trace, no frozen UI.
Upload a CSV, ask a question - DuckDB-WASM parses and queries it in a Web Worker, the
engine + guard run client-side, and nothing leaves the tab. The result
(NA = 2480.25, computed in-browser) proves the whole loop with no server.
The same result as a chart. A label column and a numeric column is a bar chart; the toggle only appears when the shape suits one.
A question about the schema rather than the data is answered in prose, with no query to run and nothing executed.
Before any file is loaded, and once one is chosen.













