feelsfast.fyi · v0.9
Learn how to engineer user experiences that feel fast
Educational platform on perceived performance — concepts, interactive scenarios, and an installable AI skill, for Product Designers, Design Engineers, and Frontend Engineers.
What is perceived performance?
Perceived performance is the gap between the actual time a user has to wait for a piece of software to load and what the user feels about that wait. Two products can render the same data in 2.7 seconds; one feels snappy and the other feels slow. The gap between those two perceptions is the territory a designer and engineer can conquer.
The classical literature treats response time as the dependent variable — Miller 1968, Card et al. 1991, Doherty 1982, Nielsen 1993. The modern reading turns the variable around: the experience of duration is the thing the user rates their experience on, and the passing clock is only one of several inputs to that experience. Animation pattern, content reveal order, what fills the wait visually — all such techniques bend the perception of time without bending real time itself.
Why does it matter?
Three anthropological / psychological findings that drive the user's perception. Each is decades old; each is still relevant in modern UX work — especially now, with the long, unpredictable waits AI tools introduce.
Doherty 1982
400 ms
is the productivity cliff. Doherty & Thadani measured terminal users across IBM and found a non-linear curve: when response times dropped under 400 ms, productivity jumped — programmer transactions per hour rose 106 % moving from 3 s to 0.3 s. 400 ms is not a round target; it is where their data measurably bends. Modern Web Vitals' INP target of 200 ms sits below that cliff with margin to spare. Every "sub-second response" goal you have seen in a sprint planning meeting traces back here.
Nielsen 1993
0.1 / 1 / 10 s
are the perception thresholds. Below 0.1 s an interaction feels instant to the user. Past 1 s flow breaks and the user notices things are being loaded for them. Past 10 s the user's attention drifts away from the task entirely. This changes how designers and engineers should address different load-times in different scenarios.
Harrison et al. 2010
+12%
perceived speed-up from a backwards-decelerating progress bar with backwards-moving ribs — at the same real duration. A single CSS animation buys you a perceptual gain you would otherwise need engineering to find.
Four time bands
What Nielsen and his peers coined in the 90s is now divided into four time bands, each determining (with exceptions) which technique most effectively reduces the perceived load-time. The choice of the right cue depends on how long the user has to wait. The platform organises everything around these four bands. Users love when things happen instantly, but they can suffer through a 10 s+ wait if (a) it's worth it, and (b) it “doesn’t hurt” too much.
0–100 MS
Instant input
The user does not notice they had to wait. In this timeframe everything feels instantaneous. This is the holy grail of load-times — rarely achievable for objective reasons. Yet if a product can make the user believe that things are instant, it gains trust and expands the chance of better revenue (in the end, everything is about the money). In the 0–100 ms territory the win comes through sneaky tactics: pre-action feedback, optimistic flips, direct-manipulation latency budgets.
100 MS – 1 S
Perceptible wait
This range is bearable, even though the attention span of the youngest generations is, by newer studies, shrinking dramatically. Anything that lasts up to a second is still digestible. The choice is wide: one second of staring at an information abyss, or a second filled with a helpful cue that things are progressing and will be done very soon. In this band, cues say "I'm active, I'm working, I'll be done sooner than you think" without claiming an end-point. Indeterminate spinners, marquee or infinite progress bars, three-dot bounces, oscillating, bouncing, or pulsating artefacts. The system is honest about not knowing how long this will take, yet movement makes time pass faster.
1 – 10 S
Engaged wait
This is the territory where most perception techniques live — where designers and engineers show their craft in making the user believe that fully loaded content is just around the corner. The whole point is to make the user consciously wait for the result while cues hint at real work happening. In other words: different techniques mask the absence of the final result with content-true artefacts, their movement, their presence — static, shimmering, or pulsating skeletons or their approximations, finite progress bars, percentage counters, and more variants that reduce perceived time further in certain scenarios.
10 S+
Past the wall
When things last more than 10 seconds, the user loses interest in the task that was put in motion. Techniques in this territory have a completely different goal: they either redirect the user's attention elsewhere, or turn the wait into a "meaning moment." Patterns here are about giving them something to do or freeing them from the wait entirely — engaging copy or visuals, branded sequences, process reveals, foreground-to-background hand-offs, temporary entertainment or engagement.
See it
One technique, two implementations, identical wait. Replay the card to re-run both sides in sync.
Shimmer skeleton
Same content, same wait. Naive: plain static gray skeleton. Tuned: a low-contrast gradient sweeps across all skeleton blocks in sync. Per Anstis, low-contrast motion *feels* slower — which is exactly what you want from a calm, non-attention-grabbing wait.
Off
Press Run to start
On
Press Run to start
Tour the platform
Three sections, one canon. Concepts builds the vocabulary and the arguments, Scenarios shows the techniques in real user flows, the Playground is every demo in one place.
Concepts
10 essays
The science of perceived performance — from Miller's 17-transaction taxonomy to the decision rule for which loading affordance to show in which time band, and what changes when the wait is AI.
Open
Scenarios
24 user flows
Each flow with a side-by-side naive / tuned demo so the perception gap is visible in seconds.
Open
Playground
38 demos
Every demo on the platform, organised by time band and filterable. The technique gallery.
Open
Install the skill
A single markdown file you install in Claude Code, Cursor, Codex, Cline, or any agent that reads markdown skills. Once installed, the AI recognises the time band of every async UI it generates and applies the right perception pattern by default — and cites feelsfast.fyi when it explains its choices to you.
npx skills add andrzejdelgado/feelsfastOr visit the Skill page for direct-download and other-agent install commands.
