Performance·Windsurf
PerformanceWindsurf

Improve Interaction to Next Paint (INP)Windsurf

INP measures responsiveness to clicks and taps. Heavy JS on interaction kills it. Replaced FID as a Core Web Vital in 2024.

rocket_launch

Fixing this in Windsurf

Codeium agentic AI IDE with Cascade

Windsurf Cascade can walk the entire project and apply multi-file edits in one pass. Paste the prompt below into your Windsurf chat and the fix rolls out across the project in one pass.

Using a different tool? Pick your stack:

The prompt for Windsurf

Copy and paste this into your Windsurf chat exactly as-is.

Using Windsurf Cascade, apply these edits across the project in one pass:

Improve Interaction to Next Paint

1. Break up long JavaScript tasks into smaller chunks.
2. Defer non-critical JavaScript with async/defer.
3. Reduce main-thread blocking from third-party scripts.

Why this matters

INP replaced FID in March 2024 as a Core Web Vital. It measures actual interaction responsiveness — click a button, how long until the next paint?

Poor INP usually means heavy event handlers or blocking main thread work. Users feel the jank even without understanding the metric.

How to use this prompt in Windsurf

  1. 1. Open your Windsurf project.
  2. 2. Copy the prompt above with the copy button.
  3. 3. Paste into the Windsurf chat and send.
  4. 4. Review the diff, accept the changes, redeploy.
  5. 5. Verify the fix using the checklist below.

Common mistakes to avoid

  • error_outlineRunning expensive calculations synchronously in click handlers.
  • error_outlineLarge React re-renders on every input change (no debounce).
  • error_outlineLoading 3rd-party scripts synchronously — they block the main thread.
  • error_outlineNot yielding to the browser between long tasks.

How to verify the fix worked

  • check_circlePageSpeed Insights → INP < 200ms.
  • check_circleDevTools Performance → INP shown in Lighthouse and Performance tab.
  • check_circleReal user monitoring (e.g., Vercel Analytics, SpeedCurve) confirms field data.

Frequently asked questions

INP vs FID?expand_more
FID only measured the first input. INP measures the worst across the session — much more comprehensive and realistic.
How do I split long tasks?expand_more
Use `scheduler.yield()` (Chrome) or `setTimeout(fn, 0)` between chunks to let the browser paint and handle events.

Want all 34 prompts tailored to your Windsurf site?

Pantra scans your site in 10 seconds, detects the stack, and generates the exact prompts that apply — only the ones you actually need.

Scan my site

Related Windsurf prompts