Coming 2027
Tell me when it ships
Describe it in words or draw it. Then read it back, step by step, with real data.
-- 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. Look at what the join did quietly.
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.
Where this is going
What you just dragged is one flow, on one canvas. The product it belongs to is the place the rest of the job lives — on the same objects, in the same picture, not in four tools that have to be kept in step by hand.
Publish a flow and the version is what runs — never the draft you happen to have open. Every run says which one it was.
Every step's rows in and out, what it cost, and the document that actually ran — kept with the run, so last Tuesday is read rather than re-run. Where a step wrote something down, it reopens at the rows it wrote.
Flows in order, per environment, promoted one version at a time. Bronze, silver and gold as one named thing rather than three schedules that agree by luck.
What woke a run, what it wrote, what it dropped and where it slowed down — on the canvas you drew, not in a log somebody has to go and find.
Today that job is a scheduler, a catalog, a lineage tool and a warehouse, held together by somebody’s YAML and the one engineer who remembers how. We are aiming at one place where all four are the same object — and at a picture your colleague can read without being that engineer.
COMING 2027
Interested? We are building it now, and we would rather hear from you early than late.