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

She tells it something like “act like Charlie Munger reviewing our family finances” and throws the month’s expenses at it. The thing comes back with stuff like “you’re confusing investment with spending in the education line item” or “that fund has a hidden cost you’re not accounting for.” Things Munger would say. In 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 forever 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. Grid lines, 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 hack job

I’m building a menu bar app for macOS that monitors my Claude Max quota. Part of the app shows a sparkline — a tiny 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 floor. 85% of the space shows nothing.
  • A threshold line at 80% — Arbitrary, nobody asked for it, doesn’t communicate anything useful.
  • Floating label with current % — Redundant: the card below already shows the exact number.
  • “pp/min” as a unit — Percentage points per minute? Even I didn’t know what it meant.
  • Gradient fill below the line — Pure decoration. Chartjunk.

In plain English: I had violated every Tufte principle in a 56-pixel-high chart.

The technique: summoning the expert in a loop

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

The prompt:

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

For each violation:
1. Which 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. Because without that, the LLM gives you gentle suggestions and tells you it’s “generally 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 bottom card)
  • Replace “pp/min” with simple word (rising, falling, stable)
  • Collapse summary row to just time window + trend
  • Raise 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 the history
  • Proportional trend threshold: max(2, average * 0.1) instead of fixed number

That third prescription blew my mind. I never would have thought of it. 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 like this:

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

The beauty is that the LLM doesn’t give you pats 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 field expert. At 3 AM. Without them getting annoyed because it’s the fourth time you’ve asked 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 like you would be
at a Berkshire Hathaway shareholder meeting.

She throws the month’s expenses at it and virtual Munger tells her things like “you’re paying for 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 way of thinking. It’s not him, but it’s the best approximation available 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 there are, the better the simulation will be.

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. The simulated Tufte isn’t going to have new ideas that the 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 round of Tufte for the chart, then one of Jakob Nielsen for usability, then one of Don Norman for user experience. Three expert reviewers for the price of zero.

Distilled mentorship

Before, to consult a sage, you had to travel to the stinking swamps of Dagobah, eat dubious stew, and put up with a little green geezer talking to you in reverse order. Now you have it in your terminal.

Everything these thinkers published, debated, taught, and defended for decades is compressed into 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 judgment, 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, doesn’t charge, and has no conflicts 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 involuntary series. First it was the 44 invented emails, then the AI that invents data and tests validate it, and now the AI that channels experts to help you design. At least this chapter has a happy ending.