My wife summons Charlie Munger to plan our family budget. In ChatGPT. I’m not joking.

She tells it something like “act as Charlie Munger reviewing our family finances” and feeds it our monthly expenses. The thing returns insights like “you’re confusing investment with expense in the education category” or “that fund has a hidden cost you’re not accounting for.” Things Munger would say. With the tone Munger would use.

I did the same thing. But instead of an investor, I summoned a different expert: Edward Tufte.

Who is Edward Tufte (and why you should care)

Edward Tufte is probably the person who has most influenced how we visualize data. His book The Visual Display of Quantitative Information (1983) is one of those rare texts that permanently changes how you look at a chart. It’s been the absolute reference in universities, newsrooms, and design studios worldwide for over 40 years.

His principles are brutally simple:

  • Maximize the data-ink ratio. Every pixel of your chart should communicate data. If it doesn’t communicate data, delete it.
  • Don’t decorate. Grids, 3D gradients, shadows, decorative frames… all of that is what Tufte calls chartjunk. Visual garbage that distracts from the data.
  • Let the data speak. If you need to explain your chart with a 200-word legend, the chart is poorly designed.

Tufte also invented sparklines — those tiny charts that fit within a line of text. The idea that a chart doesn’t need a title, axes, or legend to communicate. Just data.

My chart was a mess

I’m building a menu bar app for macOS that monitors my Claude Max quota. Part of the app shows a sparkline — a small line chart — with the rate at which I consume quota.

My first version had these problems:

  • Fixed Y-axis from 0 to 100% — If your usage is at 8%, the chart is a flat line stuck to the ground. 85% of the space shows nothing.
  • A threshold line at 80% — Arbitrary, nobody asked for it, communicates nothing useful.
  • Floating label with current % — Redundant: the card below already shows the exact number.
  • “pp/min” as unit — Percentage points per minute? Even I didn’t know what it meant.
  • Gradient fill below the line — Pure decoration. Chartjunk.

I had violated every Tufte principle in a 56-pixel-high chart.

The technique: summon the expert in a loop

Instead of trying to fix it myself (clearly I lack judgment for this), I did something different. I asked Claude to be Tufte.

The prompt:

Act as Edward Tufte reviewing this chart.
Analyze the SwiftUI code of VelocityCardView.
Identify ALL violations of your data visualization
principles.

For each violation:
1. What principle it violates
2. Why it's a problem
3. Concrete prescription (code, not philosophy)

Be ruthless. If something is chartjunk, say so.
Evaluate with PASS or FAIL.

The key is the last part: PASS or FAIL. Without that, the LLM gives you gentle suggestions and says “overall it’s fine.” With a binary verdict, it commits. It can’t hide behind “there’s room for improvement.”

And then the loop:

Apply Tufte's prescriptions.
Implement each change.
Don't stop iterating until he gives approval.

Four rounds until PASS

I didn’t pass on the first try. Or the second. Or the third.

Round 1 — FAIL (6 prescriptions):

  • Adaptive Y-axis instead of fixed 0-100
  • Remove the 80% threshold line (chartjunk)
  • Remove floating label (redundant with card below)
  • Replace “pp/min” with simple word (rising, falling, stable)
  • Collapse summary row to just time window + trend
  • Increase sparkline height from 44 to 56 points

I implemented all 6. Second round.

Round 2 — FAIL (1 prescription):

  • Remove the % label on the right edge. Completely redundant: the quota card below already shows the number. Let the sparkline occupy the full width.

Just one thing, but Tufte doesn’t negotiate with redundancy.

Round 3 — FAIL (4 prescriptions):

  • Contextual Y-axis: min - 3 to max + 5, with minimum 10-point range for visual resolution
  • Trend as single enum (don’t compute twice)
  • Neutral gray line color — the shape communicates, not the color. Coloring the entire line based on current value lies about history
  • Proportional trend threshold: max(2, average * 0.1) instead of fixed number

That third prescription I loved. Wouldn’t have occurred to me. If your quota is at 80% and the entire line is red, you’re saying it was always high. But 20 minutes ago it was at 40%. Color lies. Shape doesn’t.

Round 4 — PASS.

“The sparkline now achieves what a sparkline should: maximum information in minimum space, with zero chartjunk.”

Four iterations. From a mediocre chart to one that probably wouldn’t make Tufte pull his hair out.

The generalized pattern

What I did can be summarized as:

1. Summon the expert: "Act as [EXPERT] reviewing [YOUR WORK]"
2. Ask for binary verdict: PASS or FAIL
3. If FAIL → implement ALL prescriptions
4. Return to step 1
5. Repeat until PASS

The beauty is that the LLM doesn’t pat you on the back. The binary verdict forces it to commit. And if it says FAIL, it explains exactly why and what to do.

It’s like having an infinite code review with a domain expert. At 3 AM. Without them getting annoyed because it’s the fourth time you’re asking for review.

Charlie Munger and the family budget

Back to my wife. Her prompt is something like:

You are Charlie Munger reviewing a family budget.
Apply your mental models: opportunity cost,
inversion of ignorance, margin of safety.
Be direct and brutally honest as you would be
in a Berkshire Hathaway board meeting.

She feeds it our monthly expenses and virtual Munger tells her things like “you’re paying redundant insurance — the opportunity cost of those €80/month invested over 20 years is X” or “you don’t have sufficient margin of safety for medical emergencies.”

Is it really what Munger would say? Not exactly. But the model has read everything Munger wrote and said publicly. It has a statistically solid representation of his thinking patterns. It’s not him, but it’s the best available approximation short of reading his 40 years of shareholder letters.

Who can you summon?

The technique works with any expert who has left enough public work:

Your problemWho to summonWhy
Chart designEdward TufteThe Visual Display of Quantitative Information
Personal financeCharlie MungerMental models, Berkshire letters
Technical writingSteven PinkerThe Sense of Style
Software architectureMartin FowlerRefactoring, Patterns of Enterprise Architecture
NegotiationChris VossNever Split the Difference
Critical thinkingDaniel KahnemanThinking, Fast and Slow
ProductivityCal NewportDeep Work
ManagementAndy GroveHigh Output Management

The key is that the expert has sufficient published work. The more books, talks, interviews, and articles, the better the simulation.

The limits (because there are some)

Before you go summoning Einstein for your next pull request, some nuances:

It’s not the real expert. It’s a statistical approximation based on public text. Simulated Tufte won’t have new ideas that real Tufte never published. It’s a distillation, not a resurrection.

Works better with principles than tastes. “What would Tufte say about this chart?” works because Tufte has explicit, codified principles. “What would Steve Jobs say about this design?” is more slippery because Jobs operated largely on undocumented intuition.

The loop is what matters. Without the cycle of FAIL → implement → re-evaluate, the technique is just a pretty prompt. The magic is in iterating until it passes. Four rounds in my case. Could be more.

You can mix experts. Nothing stops you from asking for a Tufte round for the chart, then a Jakob Nielsen round for usability, then a Don Norman round for user experience. Three expert reviewers for the price of zero.

Distilled mentorship

Before, to consult a wise one, you had to travel to the stinking swamps of Dagobah, eat questionable stew, and endure a little green geezer speaking in reverse order. Now you have it in your terminal.

Everything these thinkers published, debated, taught, and defended for decades is compressed in the weights of a neural network. When you tell the model “be Tufte,” it activates those specific patterns and returns something that closely resembles what Tufte would have told you.

Is it the same as having the master in front of you? Obviously not. But it’s infinitely better than designing a chart without any criteria, which is what I was doing.

My wife sums it up best: “It’s like having a financial advisor who has read everything Munger wrote, available 24 hours, who doesn’t charge and has no conflict of interest.”

Hard to argue with that.


Related: If you’re interested in how I use LLMs to build software (and the disasters they can cause), this post is part of an unintentional series. First it was the 44 invented emails, then the AI that invents data and the tests validate it, and now AI that channels experts to help you design. At least this chapter has a happy ending.

This article was originally written in Spanish and translated with the help of AI.