Aurora Scharff, one of the people who works on v0 at Vercel, published a write-up on October 16 about why some navigations inside v0 felt slow, and what the team changed. It's short, concrete, honest about what didn't work before, and worth ten minutes.

The idea behind Partial Prefetching

  • Next.js prefetching used to be binary: everything about a route, or nothing. Partial Prefetching lets you fetch the shell first and defer parts that are slow or personal.
  • That made routes with heavy, user-specific content feel instant, since the frame can paint before every byte arrives.
  • It is careful about cost: grids with hundreds of cards got exactly one prefetch rule change instead of everyone.

The measurement work

The worth-talking-about part of the post is the loop they used: instant() Playwright helper in a test, the number recorded, the rule changed, the number read again. A navigation they had called 'optimized for a long time' turned out not to be.

'It has a loading state' is not what 'instant' means, and the test run made that visible in a number instead of an opinion.

The practical takeaway is 90 percent of performance work: claim less, measure in a way that can't be argued with, and apply one change at a time so you can tell what did the work.