Development & Engineering / workflow case

If it walks like a duck ...

Beginner to intermediate Set up once, then iterate continuously @AI Small Business Guru
Result

Use local SQL to view CSV/JSON/Parquet directly in the browser, manually check the data structure first, and then let AI participate in EDA and narrative.

For

Data analysts, engineers, people who need to quickly see the file structure

One Junkdrawer page that gives me serious “I wish I had this years ago” energy is Quack Drawer v2.

Back in the ancient data engineering days of, say, 2020, quick exploratory data analysis usually meant firing up Jupyter, importing pandas, sampling rows, checking schemas, counting nulls, fighting date columns, and asking the sacred question: “What fresh hell is this CSV?”

That workflow still matters. Quack Drawer v2 does not replace notebooks, pandas, Polars, warehouses, dbt, or real data pipelines. It is for the smaller, earlier question: what is in this file?

Drop in a CSV, JSON, NDJSON, or Parquet file and query it directly in the browser with SQL. No server. No upload. No database install. No setup ceremony just to answer one question about a file someone sent you.

The magic is DuckDB compiled to WebAssembly. DuckDB gives the browser a real analytical SQL engine, and WebAssembly lets that engine run locally on your machine. A browser tab becomes a lightweight data workbench.

That is the useful part. You can inspect schemas, count rows, sample records, check column types, look for nulls, find distinct values, group by categories, filter dates, test assumptions, and export results. V2 adds column profiling, richer charts, maps, query history, saved queries, Markdown reports, settings, and an optional AI Analyst.

The AI layer is optional, which is exactly how it should be. The core value is local inspection. Your data stays in your browser unless you explicitly choose to involve AI. First look at the rows. Run your own sanity checks. Then, if useful, let AI suggest SQL, explain results, flag data quality issues, suggest charts, or help draft a report narrative.

That combination feels right for the current era. AI can do a lot of EDA heavy lifting now, but I still want to look under the hood. I want the model’s suggestions tested against the actual file, not vibes. Quack Drawer v2 gives me a local place to do that.

CSV support handles the classic “somebody exported this from something and now it is your problem” case. JSON and NDJSON help with logs, API output, and semi-structured dumps. Parquet support is the fun one for data engineers, because being able to crack open a Parquet file in the browser and run SQL against it still feels suspiciously futuristic.

This is not a full data platform. It is not where you build the final answer. It is where you get oriented. It lives in the gap between “open the file in a spreadsheet and suffer” and “spin up a real notebook.”

That is what the Junkdrawer is for: not replacing serious tools, but filling the annoying gaps between them.

And yes, the name is exactly what it sounds like. DuckDB powers the query engine. Junkdrawer supplies the philosophy. Therefore: Quack Drawer.

This is what happens when a data engineer is left unsupervised near poultry-adjacent database branding.

Quack Drawer v2: https://hmarquardt.github.io/junkdrawer/quack\_drawer\_v2.html
Junkdrawer repo: https://github.com/hmarquardt/junkdrawer

Related