Join the Vercel Community for a Web Performance AMA on Sept 3.
To join in the live chat - join the community and click “Going” above 
Speakers
Dom Sipowicz (@dom-vercel) |
Senior Solutions Engineer |
X | LinkedIn |
Join the Vercel Community for a Web Performance AMA on Sept 3.
Dom Sipowicz (@dom-vercel) |
Senior Solutions Engineer |
X | LinkedIn |
Yeeeeeeeeah! Get us signed up for this. Can’t wait to watch this, got the whole team on standby.
Really Excited for this one. Cleared all my schedule for this.
Do you have any questions about Web Performance you want me to cover?
Super excited for this one!
Yeah, I actually would love to know your opinion on getting the perfect Next/Image.
I suspect if you don’t care about build times, AVIF is the de facto format. But the big question here, is what do you do personally when building a website when there are third-party providers giving you image optimisation? E.g., in our case, we have Sanity Image and we have Next/Image in most projects. Should we stick to one? How do we achieve ultra-crisp imagery while still staying within the 100kb-200 kb mark?
look forward to listening in on this one!
See you there, Avik!
Get your questions ready!
Hey @dom-vercel!
I hope you’re doing well. I’m really excited to learn more about web performance.
I want to understand how we can address the annoying LCP (Largest Contentful Paint) and FCP (First Contentful Paint) errors.
I noticed a suggestion to “Improve image delivery – Potential savings of 4,170 KiB.”
Maybe I’m just being lazy or feeling dumb to ask this, but earlier this year I optimized my game studio, QwiQ Games, and I struggled to resolve this issue in almost all my personal projects.
If possible, I’d love to discuss this further.
Let’s go!
Great question! You can definitely use both approaches effectively - Next/Image with Vercel’s optimization or third-party providers like Sanity’s Image CDN.
For the Sanity + Next.js combo specifically:
You have two solid options:
next-sanity-image
to leverage Sanity’s CDN directlynext/image
and let Vercel handle the optimizationMy take on the approach:
The next/image
component already handles the heavy lifting for Core Web Vitals (LCP, CLS) regardless of which optimization backend you choose. Beyond that, it’s really about fine-tuning for cost efficiency and UX.
Why I lean toward Vercel’s optimization:
The observability is fantastic - you get detailed insights in the Image Optimization tab under Observability (https://vercel.com/docs/observability/insights#image-optimization). This data is invaluable for understanding your actual usage patterns and optimization impact.
For Image size within 100-200kb:
And knowing you, @jonoroboto - if you find the existing Sanity plugin too limiting, I’m sure you’d either contribute back to the project or build something even better open source Roboto Studio version for the community!
Personally, I’d go with Vercel’s optimization for the observability alone.
PS. Yes, I used v0 to answer that question, however I did put my input into the prompt!
Are you using Vercel Speed Insights? Maybe your users are actually having a good experience in the real world and Lighthouse is just complaining, but that would be over-optimization. This is exactly the case I want to cover in the AMA!
I was using it earlier, but due to some changes and speed issues, I’ve commented it out for now. I’m not sure how to resolve this.
Let’s discuss how we can determine whether my end users are having a good experience with this issue in the real world, while Lighthouse only raises concerns.
Wow, ok, didn’t know about the image observability. More importantly I can’t believe you popped that into v0
Funny you should mention the next-sanity-image package. We actually used it many years back, but there was some Typescript errors before there was a first party solution to Typescript generation. I think we are probably going to try the Next native way on the Roboto Studio website and report back with the results
This is gonna be interesting!
Really excited for this one!
Would be great to see optimization for multiple images/videos,
especially in CMS use cases with next.js as Jono mentioned above
Also, really appreciate this Vercel community version
Darn it, I missed the stream! I’m for sure gonna watch it later.
If you have any questions you’d like to ask @dom-vercel async, drop them in this thread