Data Analytics · Read + Write

Auto-generate dashboard from data

Augment Rep · Med Reason · High

The problem

An analyst gets a CSV and a question ("how is store-07 doing?"). They spend 30–60 min profiling columns, picking charts, and writing SQL. Each new question repeats the cycle.

The AI approach

Profile → SQL → chart pick → narrate. LLM reads schema + question, predictive helpers profile the columns, rules pick chart shapes, LLM narrates each tile.

The outcome

~5 min draft

Time-to-first-draft drops from ~45 min → ~5 min. Analyst edits the draft instead of starting from a blank slate.

Try itInput → Process → Output

Input — CSV + question
store_sales_30d.csv
datestorecatrevenue
2026-04-04store_07fresh32,140
2026-04-04store_07dry21,560
2026-04-04store_07house12,800
2026-04-05store_07fresh34,720
2026-04-05store_07dry22,100
How is store_07 doing this month?
Process — AI pipeline
1Profile columns + typesReadPredictive
2Generate SQL from questionReadGenerative
3Pick chart shapes (rules)RulesSymbolic
4Narrate the headlineWriteGenerative
Output — auto-generated dashboard
Click Run demo to turn the CSV + question into a 1-page dashboard.
store_07 · Apr 2026auto-drafted from store_sales_30d.csv
Revenue MTD
2.41M
▲ 4.2% vs LM
Basket size
412฿
▼ 1.1% vs LM
Fresh share
42%
▼ 6 pts vs LM
Daily revenue · last 30 days
Revenue by category
fresh dry house
Headline: Revenue is up 4.2%, but the engine is shifting — fresh is down 6 pts as a share, replaced by dry. Basket size is flat. Worth a look at fresh assortment.

Three AI types in this use case

SymbolicChart-selection rules, KPI threshold colouring, layout grid, source-page traceability.
PredictiveColumn-type inference, distribution profiling, trend / seasonality detection.
GenerativeLLM reads schema + question, writes SQL, picks layout, narrates each tile’s headline.

The stack

  • Profiler · pandas + ydata-profiling
  • SQL gen · LLM + schema-in-context
  • Chart picker · Rules + Vega-Lite
  • Narrator · Claude / GPT

When this works

  • Schema is clean & documented (column comments)
  • Question is scoped (one entity, one period)
  • Output is a draft the analyst will edit, not a final report

When it fails

  • Vague question ("how's the business?") — output is generic
  • Schema joins not obvious — generated SQL hallucinates relationships
  • Tiny dataset — chart looks confident on noise
  • No human review — silent errors get framed as insights