feelsfast.fyi

Perceived performance

Engineer 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.

Introducing Skill

What is perceived performance?

Perceived performance is the gap between the actual load-time a user has to wait and what the user feels about it. The same data can render in 2.7 seconds — one feels snappy, the other feels slow. The perception of time is what users rate as their experience.

Animation patterns, content reveal order, filling the wait visually — all such techniques bend the perception of time, and should be exploited by designers and engineers for better user experience.

Both finish at 2.7 s. The right one feels much faster, right?

Why does it matter?

Two 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. Sub-second response time produces measurable productivity gains. It's the foundational empirical finding the rest of the field rests on.

Nielsen 1993

0.1 / 1 / 10 s

are the perception thresholds. Below 0.1 s feels instant to the user. Past 1 s flow breaks, making the user notice the loading. Past 10 s the user's attention drifts away from the task entirely.

Four time bands

An evolution of those 90s thresholds. The platform organises everything around them. Users love when things happen instantly, but they can suffer through a 10 s+ wait if it's worth it and it “doesn’t hurt” too much.

0–100 MS

Instant

In such a timeframe everything happens instantaneously. Making things happen in an instant creates trust. This perception of time can be achieved through sneaky tactics: pre-action feedback, optimistic flips, direct-manipulation latency budgets.

100 MS – 1 S

Responsive

This range is bearable, even with the shrinking attention span of the youngest generations. The choice is: one second of staring at the information abyss, or one second filled with a helpful cue. This is the territory of indeterminate spinners, infinite progress bars, oscillating, bouncing or pulsating load artefacts.

1 – 10 S

Engaged

The range where designers and engineers can show their craft and skill in making the user believe that fully loaded content is just around the corner. Content-true artefacts: static, shimmering, or pulsating skeletons, finite progress bars, percentage counters, with many more variants.

10 S+

Long

In this territory the user loses interest or attention to the task. The goal is to redirect them onto something else, or to turn the wait into a "meaning moment." Hence the usage of engaging copy or visuals, process unveiling, foreground-to-background hand-offs, providing 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.

1 – 10 S

Off

Press Run to start

On

Press Run to start

Tour the platform

Four sections, one canon. Concepts builds the vocabulary, Scenarios shows the techniques in real user flows, AI cuts across both for the surfaces where waits stretch hardest, and the Playground is every demo in one place.

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.

Claude Code · Cursor · Codex · Cline (skills CLI)

One command. Drops the skill into .agents/skills/ and symlinks into the agent's own skills directory.

npx skills add andrzejdelgado/feelsfast-skill

Direct download

Download the raw markdown and place it where your agent reads skills (most use .claude/skills/feelsfast/SKILL.md or similar).

curl -L https://feelsfast.fyi/feelsfast.skill.md -o feelsfast.skill.md
GitHub