data/*.parquet load deterministic Quantile code (not model-written) sandbox VM load/analysis.duckdb + the loaded schema transform generated DuckDB SQL the user's browser (DuckDB-Wasm) scratch.* derived tables visualize a Mosaic vgplot JSON spec — data only, no styling the user's browser a rendered dashboardextract/, load/, transform/, visualize/, data/) shown in the workspace pane. Model-written changes stream in and play back as red/green diffs; hand edits are first-class, and Run on extract/extract.py re-runs the pipeline against fresh source data.edit (never a fresh extract) once a script exists Connected account (via Pipedream Connect) The data source Holds the real credentials. Quantile holds only an account id; the proxy injects auth at request time Sandbox runtime Execution environment Local disk + child processes in development; Vercel Sandbox Firecracker microVMs with a Blob-backed workspace on hosted deploymentsexternalUserId is always the
authenticated Quantile user id, so an account can only ever be reached by the user who
connected it.revenue_by_month plus a kpis row in the
browser, and renders a Mosaic dashboard with KPI cards and charts. Elapsed: one
message. The operator can read every line of Python and SQL that produced it.edit to transform/transform.sql, a
re-run in the browser, an updated spec. "Also pull in shipping costs" → an edit to
the extraction, which re-runs, then load, then transform, then the dashboards
re-render. The user sees exactly which layer moved each time.ModuleNotFoundError (an undeclared SDK) or a pagination
error from the source API. The stderr tail is captured, the agent is required to fix
the root cause in the same turn rather than report it, and the corrected script
re-runs. Two similar failures in a row and it stops and asks instead of looping.extract/extract.py directly in the pane and hits Run. The pipeline re-runs
against fresh source data, load rebuilds the database, and the dashboards re-render —
the same path a model edit takes.load/ is deterministic code the model cannot edit The contract between "what was extracted" and "what is queryable" must not drift. Only extract/, transform/, and visualize/ are model-editable Streaming search/replace edits, played back as diffs Follow-ups touch one layer, not the whole file, and the user can see precisely what changed instead of diffing two opaque versions by eye stderr tail persisted next to the script The next codegen pass fixes the actual cause instead of guessing from a summary; failure becomes a normal step of the loop, not a dead end Postgres manifest over Blob listing Vercel Blob's list()/head() are eventually consistent — a file written milliseconds before a run could be invisible to the VM. Every write records its immutable Blob URL in Postgres, which is the only index consulted Per-chat sandbox + warm snapshot (uv, CPython, baked wheels) Each analysis gets an isolated working directory, and boots don't pay for dependency resolution that almost every run shares One artifact document version per successful stage Analytics results must be auditable. Each stage's snapshot is addressable and openable read-only, so a number can be traced to the code that produced it Chat-first layout; the workspace opens only once an analysis exists Before there's anything to show, the screen is a conversation. The code and dashboards appear beside it exactly when they become real Models routed through the Vercel AI Gateway One key, model choice per chat, and no provider SDK baked into the appedit, and the rules that route a request to the right stage.Run.

Posted Sep 20, 2026
Connect an app account, ask a question, and Quantile writes the Python, SQL, and dashboard — every stage visible, editable, and re-runnable in your browser.
0
0
Aug 1, 2026 - Aug 17, 2026
Quantile