LLenny's Podcast
← All frameworks
InnovationGustav Söderström (Co-President, CPO, and CTO at Spotify)

Fault-Tolerant User Interfaces

Design your UI to match the real hit-rate of your machine learning, not a fantasy of 100% accuracy.

Difficulty
Moderate
Time to result
~weeks to results
Steps
4
Confidence
95%

When a product is powered by predictions (recommendation or generative AI), the interface must be designed around the model's actual accuracy. A single big 'play' button only works if the model is essentially perfect; since it never is, you need a UI that surfaces multiple candidates at once and gives users an easy way to reject a bad prediction.

Origin

Söderström explicitly credits the principle to Chris Dixon ('it is straight from Chris Dixon'). He applies it to Spotify's recommendation and generative products and cites Midjourney as an outside example.

Core principles

  • 01You cannot design the interface until you understand the performance of the model behind it
  • 02A single-action UI demands ~100% model accuracy, which never exists
  • 03UI item-density should mirror the model's hit rate (1-in-5 hit rate => show ~5 items)
  • 04Always give the user an escape hatch to say 'you're wrong'

How to run it

  1. 1

    Measure your model's real hit rate

    Before designing anything, quantify how often the prediction is actually right — one in five, nine in ten, etc. This number, not aesthetic preference, drives the layout.

    Pro tip Reframe accuracy as 'duds per screen' — how many wrong items a user will tolerate before they think the product is broken.

    Watch out Designers instinctively reach for the cleanest single-button UI; that is a trap unless the model is near-perfect.

  2. 2

    Set item density to match the hit rate

    If four out of five predictions are duds, show at least five candidates simultaneously so something relevant is on screen. If the model is nearly perfect, a denser or single-item UI is fine.

    Pro tip Midjourney generated four fast low-res images at once because their hit rate was roughly one in four — the count of options encodes the model's accuracy.

  3. 3

    Build an escape hatch

    Make it effortless for the user to reject a wrong prediction and redirect — 'no, I want my library / this / that.' The cost of a bad guess must be one cheap swipe or tap.

    Watch out Without a cheap rejection path, every model miss feels like the product breaking.

  4. 4

    Re-check the UI as the model improves

    Model quality climbs over time ('hill climbing'); revisit the interface so it keeps matching current performance rather than the performance you launched with.

In the wild

Midjourney's four-image grid

Early Midjourney generation was slow and roughly one-in-four good. Instead of a single slow high-res image (disappointing three of four times, minutes each), they generated four simultaneous low-res images quickly and let the user pick one to upscale or iterate.

The UI matched the model's true hit rate, so users felt delighted rather than let down by an unreliable single output.

Spotify's rejected single play button

During the early recommendation era, designers repeatedly proposed one big play button. Söderström pushed back because the underlying model was never accurate enough to justify a single-shot interface.

Spotify adopted multi-item, fault-tolerant layouts with escape hatches instead of a single-button gamble.

Common mistakes

Designing the UI before knowing the model's accuracy

If you don't understand your machine learning's performance you literally cannot design for it — you'll pick a layout that assumes an accuracy the model doesn't have.

Chasing the cleanest possible interface

The simplest single-action UI silently requires near-perfect predictions; shipping it over a mediocre model makes every miss feel like a broken product.

Is it for you?

Best for

Product designers and PMs building recommendation- or AI-powered features who must translate model accuracy into interface decisions.

Not ideal for

Deterministic products where output is exact and there is no prediction error to absorb.

From the transcript

you need to understand the performance of your machine learning to design for it. It needs to be fault tolerant.

19:00

And often you need an escape hatch for the user.

19:00

What they did was they generated four simultaneous low-res images very quickly.

20:00

if you're going to have a single play button, needs to be literally 100% or zero prediction error

18:30

From the episode

Lessons from scaling Spotify: The science of product, taking risky bets, and how AI is already impacting the future of music

Gustav Söderström (Co-President, CPO, and CTO at Spotify)