See it work

A spreadsheet, and then a chart worth showing.

A CSV goes in. What comes out is the kind of graphic that usually needs a specialist and a fortnight. Here is every step, with real screens — and two real datasets drawn the way most tools would draw them, next to ours.

Nine owners, thirty-nine cells, one picture

This is a real dataset from the portfolio — every satellite catalogued as working, 11,403 tonnes of it, grouped by owner and then by the orbital shell each one flies in. Two levels of hierarchy. Here is what happens to it.

What most chart makers give you
A default pie chart of nine satellite owners with a legend
A pie of the nine owners. It is the standard answer for part-to-whole and it is not a bad chart — but the second level is simply gone. The thirty-nine orbital shells underneath those owners have nowhere to go, so the question “what is SpaceX’s half actually made of” cannot be asked.
The same data, through AK.VIZ
A Voronoi treemap of satellite mass: nine owners in organic cells, each subdivided into its orbital shells, SpaceX filling over half the circle
A Voronoi treemap. All thirty-nine cells are drawn, area is mass to within a fraction of a percent, and each owner divides into the shells it actually flies in — so SpaceX’s 53.8% resolves into a 2.7k-tonne 53° shell and a 2.3k-tonne 43° shell. Open the live one →

The boundary in the live version morphs between five outlines — circle, scalloped, hexagon, pentagon, squircle — re-tessellating on identical data each time, which is a fast way to show that area carries the number and shape does not. The write-up covers the solver setting that decides whether it is honest →

It does the same on eight rows

Not every dataset is a hierarchy. This is the sample built into the agent — eight airlines, a fleet count for 2021 and one for 2026. Every number in the right-hand chart also appears in the left-hand one.

The default
A default grouped bar chart of eight airline fleets
Two bars per airline, a legend, a gridline every 200. It answers what are the values.
The same eight rows
An arrow ladder of the same eight airlines, ranked, arrow length showing growth
Ranked, arrow running 2021 → 2026 so its length is the growth, fastest riser named in the title. It answers who is pulling ahead.

A board does not need telling American Airlines has 995 aircraft. It needs to see that IndiGo grew 44% while Emirates grew 2%. One of those charts puts that on the page; the other leaves it as homework.

And on thirty-seven years of one number

The VIX is the price the options market puts on the next thirty days of turbulence. One value a day since 1990 — about 9,300 numbers. The usual way to fit that on a page is to average each year down to a single point.

The default
A default line chart of the yearly median and mean VIX from 1990 to 2026
Two lines, one point per year. It answers which years were tense — and every year becomes a single number, so a year that was calm with one terrifying week looks identical to one that was uneasy throughout.
The same numbers, through AK.VIZ
A ridgeline plot: one kernel density ridge per year of daily VIX closes, 1990 to 2026, coloured by that year's median
One density ridge per year, so the shape of each year survives. A calm year is a narrow spike; a frightened one drags a long tail right. Open the live one →

The line chart puts 2020 at a median of 26.7, a touch above 2008. The ridge shows what that average hides: a tail reaching 82.7 on 16 March 2020, the highest close on record. It also shows the opposite — 2017 never closed above 30 once, while 2009 spent 44% of its days there. Same numbers, and only one of the two charts contains that sentence.

The walkthrough

Four steps. The screens below are the real interface, not mock-ups.

Step 1

Drop a CSV — or borrow ours

Drag a file in, or click Try a sample dataset if you just want to see it move. No account, no card, and the file is used to build your chart — never stored or shared.

The AK.VIZ agent with an empty drop zone, ready for a CSV
Step 2

It reads the file before you say anything

Delimiter, row count, column names and the type of every column — detected on load. Here it has found 8 rows, 3 columns, one text field and two numeric ones, and offered a box for the story you want to tell. Messy government exports with stacked headers are handled the same way.

The agent showing the loaded sample: 8 rows, 3 columns, column types detected, and a prompt asking what story you want to tell
Step 3

Three proposals, on your real numbers

Not a gallery of chart types to browse — three specific recommendations for this dataset, each saying what it would argue and why that form suits your data. Free, before you pay for anything. If the data cannot support the chart you had in mind, that is where you find out.

Step 4

Generate, refine in plain English, and keep it

A production-grade interactive chart in minutes. Adjust it by asking. Then take it away as a 1080×1350 PNG, a presentation PDF, interactive HTML, an embed snippet, or an editable SVG your designer can open in Illustrator.

Watch it end to end

A short screen recording of the full run, from empty drop zone to downloaded file.

Screen recording in production

The steps above are the real interface and the comparison above is real output, so nothing here is waiting on the film. Run the agent yourself →

What makes the output different

Three things a template picker cannot do, and they are the reason the right-hand chart above looks like that.

It chooses the form

Ranked arrows, not two bars

The agent picks a chart form for what your data is doing, not for what column types you happen to have. A tool that maps "two numeric columns" to "grouped bar" will give you a grouped bar every time, whatever the story.

It writes the finding

The headline is computed

“IndiGo grew fastest” is derived from your file at render time, along with the totals and every percentage. Refresh the data and the sentence moves with it. Nothing is typed in by hand to go stale.

It checks itself

Audited before it ships

Overlapping labels, contrast in every theme, type below the legible floor, the export canvas. A chart that fails does not go out — and if your data has a break or a coverage gap in it, you are told before anything is drawn.

Two worked examples of that last point, written up in full: a statistical break that would have printed a 24% fall that never happened, and a solver setting that drew the smallest cells 246% too large.

Bring your data. See what happens.

Three chart proposals on your own numbers, free, no card needed.