DEV Community

Cover image for The Labor Illusion: Why Making Users Wait Can Build More Trust
Khue Pham
Khue Pham Subscriber

Posted on

The Labor Illusion: Why Making Users Wait Can Build More Trust

Here is a counterintuitive idea from behavioral psychology that quietly runs a lot of the software you use every day: the labor illusion. The core finding is that people tend to trust and value a product more when they can see the effort that went into producing it — even when the final result is exactly the same.

The flight-search story

The classic example is travel search sites like Kayak or Skyscanner. Early on, they could return flight results almost instantly. You'd expect users to love that. Instead, many of them were suspicious: if it's that fast, how could it possibly have found me the cheapest fare?

So the teams did something that sounds absurd on paper — they deliberately slowed the system down. They added a progress bar and a stream of status lines: "searching Delta…", "comparing prices across 200 airlines…", "checking baggage fees…". The actual work hadn't changed, but now users could watch it happen.

The result? People waited longer and yet booked more. Seeing the system visibly grind away on their behalf made them trust the answer.

Why it works

Waiting with no feedback feels like being ignored. Waiting while watching concrete, legible work feels like being served. The perceived value of an outcome isn't just the outcome — it's the outcome plus the visible evidence of the effort behind it. Strip away that evidence and, paradoxically, the same result feels cheaper and less trustworthy.

There's a flip side worth naming: this is a tool, not a trick to abuse. Fake delays that don't map to real work erode trust the moment users catch on. The honest version of the labor illusion is exposing work that is genuinely happening — not inventing work that isn't.

How I'm applying it to Lumibase

Building lumibase.dev, I kept running into moments where the honest version of this principle fits perfectly. When you hit deploy or sync, plenty is actually happening under the hood — validating config, running migrations, warming caches, spinning up the database. The old default was to hide all of that behind a spinner: a bored little circle going round and round while the user wonders whether anything is working at all.

So instead of the spinner, Lumibase surfaces a live terminal-style log that lists each real task as it runs:

▸ validating config…            ✓
▸ initializing database…        ✓
▸ applying migrations (3)…      ✓
▸ warming edge cache…           ⋯
Enter fullscreen mode Exit fullscreen mode

The operation takes the same amount of time it always did. Nothing is faked — every line maps to a step that's really executing. But by exposing the process instead of hiding it, the wait stops feeling like dead air and starts feeling like the system working hard for you. Users come away calmer and more confident, because they can feel the value behind every click.

The takeaway

Progress is not just a technical state; it's a story you tell the user about their time. If real work is happening, show it. A legible process turns an anxious wait into evidence of effort — and evidence of effort is one of the cheapest, most honest ways to earn trust.

I'm building all of this in public. Lumibase is a Content OS — a headless, AI-native CMS operated by governed agents. If you like this kind of UX-meets-engineering thinking, come hang out at lumibase.dev. 🌱

Top comments (0)