Ask in a sentence and Quacksmith drafts the flow. You read it on a canvas where every step shows its rows and every wire carries its count, accept it or correct it, then run it. Every run tells you what happened.
Chat reads the schemas you already have and drafts the flow. It is a proposal, never a saved flow, until you accept it.
Every step drawn, with its real rows. Correct the picture where it is wrong — drag a wire, change a filter — and what runs follows.
What it wrote and where, or which step stopped and why — in a sentence, not an error code.
-- revenue_by_segment
SELECT
cs.segment,
cs.country,
date_trunc('month', t.booked_at) AS month,
sum(t.amount) AS net_revenue,
count(*) AS txns,
rank() OVER (PARTITION BY date_trunc('month', t.booked_at)
ORDER BY sum(t.amount) DESC) AS rnk,
sum(t.amount) - lag(sum(t.amount)) OVER (
PARTITION BY cs.segment, cs.country
ORDER BY date_trunc('month', t.booked_at)) AS mom_delta
FROM read_parquet('s3://warehouse/transactions/*') t
JOIN (
SELECT c.customer_id, c.country, p.segment
FROM public.customers c
LEFT JOIN read_csv_auto('plans.csv') p USING (plan_code)
) cs USING (customer_id)
WHERE t.status = 'settled'
AND t.booked_at >= DATE '2026-01-01'
GROUP BY 1, 2, 3
ORDER BY month, rnk;
Twenty-two lines, written the way a person actually writes them — not one step per line, but everything folded into one statement. Every join and every filter in it is correct. Not one of them will tell you what it threw away.
15,889 transactions fell out of that join. Nothing above says so. You would have to run it yourself, and know to go looking.
The same flow, drawn
This is the studio’s own canvas, not a picture of one. Every wire carries the number of rows that crossed it. Drag a node, press one to read its rows, or switch to Ports to see every step’s columns on the block itself.
Started 30 Aug 2026 09:14· ran for 8.85s· every track below is that window
The durations and the start time here are illustrative — drawn for this page, not measured from a run. The shape, the grain and the order are the record’s own.
status = 'settled', booked this year
Each bar sits where that step ran, and is as long as it took.
The steps do not open on this page — press a node on the canvas above instead.
What you get
What you just dragged is one flow, on one canvas. It comes with a draft you accept before anything is saved, a picture somebody else can check, and runs that say what happened.
Chat drafts; you accept the proposal on the canvas, or correct it first. The AI never edits a flow behind your back.
Every step shows its rows and every wire its count, so the person who did not build it can review it without reading SQL.
Open a run and the answer comes first: did it finish, what it wrote, and if it stopped, which step and why. Every run in the project, in one list.
COMING 2027
Interested? We are building it now, and we would rather hear from you early than late.