FOR DATA SCIENTISTSExplore JSON like
Explore JSON like
it's a dataframe.
Group, filter, aggregate, and reshape messy nested API responses — by asking. QDev writes the jq, runs it locally, and hands you a clean table to drop into pandas or polars.
- ✓Aggregations are exact — jq does the math, not the model
- ✓The jq expression isthe artifact — reproducible & shareable
- ✓Sensitive datasets stay on your machine — never uploaded
⌘K
try
● TRANSACTIONS.JSON — 4,812 ROWS · LOCAL
{
"transactions": [
{
"id": "t_5012",
"user": "ada",
"category": "compute",
"amount": 420.5,
"date": "2026-01-14"
},
{
"id": "t_5013",
"user": "ben",
"category": "storage",
"amount": 88.2,
"date": "2026-01-15"
},
{
"id": "t_5014",
"user": "ada",
"category": "compute",
"amount": 512,
"date": "2026-02-02"
}
]
}↑ Ask a group-by or total — jq runs on all 4,812 rows locally. Only the schema is ever sent.
exact totals · reproducible jq · nothing uploaded
SOUND FAMILIAR?
The JSON-wrangling tax
The jq you always re-Google
group_by then map then add — you know the shape, never the exact incantation. Twenty minutes and three Stack Overflow tabs later.
Nested arrays that won't flatten
API gives you users[].transactions[] and your notebook chokes. json_normalize only gets you halfway.
Files too big to eyeball
A 40 MB export won't open in the editor, and you just need one grouped total to sanity-check the pipeline.
ASK, DON'T GOOGLE THE JQ
Every wrangle, in plain English
📊
Group & aggregate
Sums, counts, averages by any field — computed by jq, so the numbers are exact.
average order value by region
🧹
Flatten nested arrays
Explode users[].posts[] into flat records ready for a dataframe.
flatten every post into one array with the user's name
🔍
Filter & slice
Pull just the rows you want, then keep only the columns that matter.
failed payments in the last 7 days
🔀
Reshape & pivot
Pivot long to wide, rename keys, coerce shapes — no bespoke script.
pivot status counts into one row per day
FITS YOUR NOTEBOOK
From raw JSON to a dataframe in four steps
01
Paste or open JSON
Any API response, log dump, or export — even multi-MB.
02
Ask in words
⌘K → “total spend by category.” QDev writes the jq.
03
Get a clean table
Exact result, rendered tabular — copy as CSV or records.
04
Into pandas / polars
Paste records straight into a DataFrame and keep going.
# QDev: "total spend by category" → copy records
import pandas as pd
df = pd.DataFrame(records) # tidy, typed, ready
● BUILT FOR SENSITIVE DATA
Your dataset never leaves the tab.
PII, financials, health records — the values stay local. Only the schema (field names & types) and your question are ever sent, and only on the hosted tier. Prefer zero egress? Run local AI, free, and nothing leaves at all.
✓jq runs in a sandboxed Web Worker — no network access
✓Hosted proxy is stateless & zero-retention — logs nothing
✓Local WebLLM / Ollama mode uploads nothing, not even schema
Stop hand-writing jq at 11pm.
Install free, keep your data local, and let ⌘K reshape any JSON into a table you can actually analyze.