Nothing to hand? — a year of signups by channel — or , a 12-slice 3D pie chart that deserves what is coming to it. Both replay a saved run for free.
Paste the data
The profiler reads it in your browser for free: column types, distinct counts, ranges, a heuristic chart pick and an instant SVG sketch. Big files are clipped on row boundaries — the profile still covers every row, and the app tells you exactly what was sent.
The AI decides
One chart form, chosen for your stated message and grounded in your real columns: encodings channel by channel, the alternatives and why they lose, and the pitfalls that would mislead — truncated axes, too many series, dishonest pies. If it disagrees with the free heuristic, it has to say why.
Ship the chart
The recommended chart is drawn from your real rows, right under the recommendation. The code download comes with your data already embedded, so the file runs as-is — matplotlib, plotly, Vega-Lite, Recharts, D3 or ECharts — plus accessibility guidance, a Markdown report, and a history you can compare a later run against.
Derived from the @shubhamsaboo/visualization-expert skill (Awesome LLM Apps, MIT) on SkillSafe.
Which chart should I use for my data?
It depends on the message, not the topic. Comparison across categories is a bar chart; a trend over time is a line chart; the relationship between two measures is a scatter plot; the spread of one measure is a histogram; composition is a stacked bar, and a pie only holds up at two to four slices. Chart Coach applies exactly that guide to your real columns: it profiles every row in your browser, picks a form for the message you typed, and explains why the alternatives lose.
Is my data uploaded anywhere?
The profile, the heuristic pick and the SVG sketch are computed entirely in your browser — nothing leaves the page until you press Coach me. When you do run, a clipped sample of the data is sent to the model along with the column profile. Datasets over 300 rows are cut on whole-row boundaries with the middle dropped and both ends kept, and the app tells you exactly how many rows were profiled locally versus sent.
Does the generated chart code actually run?
Yes. The code download embeds your parsed rows in the file — a pandas DataFrame for matplotlib and plotly, a data array for Recharts, D3 and ECharts, and inline values for a Vega-Lite spec — so the file runs without you wiring up the data first. Up to 5,000 rows are embedded, and the file says how many of your total rows that was.
Which chart libraries are supported?
Six: matplotlib and plotly in Python, Vega-Lite as a JSON spec, Recharts for React, and D3 and ECharts in JavaScript. You pick the target before the run, and the recommendation comes back with complete, runnable source for that library only — imports and setup included, no placeholder comments.
Can it review a chart I already built?
Yes. Describe the chart you have in the critique box — the mark, the number of series, the palette, the axis choices — and the review says what it gets right, what actively misleads, and what to change, alongside the chart it would build instead. That is the critique lane, and the bundled critique example replays a saved run for free.
What happens when I run it a second time?
Past results are saved to your SkillSafe account and mirrored on this device, so they follow you to another browser. Any saved run can be restored, or compared against the result on screen — the comparison shows whether the recommended chart form changed, which encoding channels moved to different fields, and which pitfalls were resolved, persisted or newly appeared.
What does it cost?
The in-browser profiler, the heuristic pick and the SVG sketch are free and need no sign-in. A full review is a metered run on the gpt-terra model tier, and the app shows the maximum reserved amount before you commit — you are only charged what the run actually uses. Both bundled examples replay a saved run and cost nothing.