Skip to content

⚡ Bolt: Optimize ProjectsView image rendering and LCP loading - #149

Open
fysp11 wants to merge 1 commit into
mainfrom
bolt-optimize-projectsview-image-loading-1700553064414724324
Open

⚡ Bolt: Optimize ProjectsView image rendering and LCP loading#149
fysp11 wants to merge 1 commit into
mainfrom
bolt-optimize-projectsview-image-loading-1700553064414724324

Conversation

@fysp11

@fysp11 fysp11 commented Jul 27, 2026

Copy link
Copy Markdown
Owner

💡 What: Replaced the improperly nested Astro <Image> component in the React ProjectsView component with standard <img> tags, pre-optimizing those images on the server via Astro's getImage(). Additionally, applied eager loading & fetchPriority="high" to above-the-fold images and loading="lazy" & decoding="async" to the remainder.

🎯 Why: Using Astro's <Image> tag inside React causes bundle incompatibilities and prevents normal DOM property application (e.g. standard class= output instead of className=). Replacing it natively fixes the structure, and utilizing getImage() on the backend preserves WebP formats and correct viewport resolutions. Proper eager/lazy indexing prevents Large Contentful Paint (LCP) blocking.

📊 Impact: Faster initial LCP due to explicit fetchPriority and eager loading on above-the-fold content, combined with minimized byte delivery via getImage optimized sizes.

🔬 Measurement: Verify via pnpm run check pipeline, load the /projects page locally via network devtools to observe explicit lazy boundaries, smaller asset payloads (webp), and non-blocking LCP renders.


PR created automatically by Jules for task 1700553064414724324 started by @fysp11

- Replaced incompatible Astro `<Image>` with native `<img>` inside React component
- Added optimal loading attributes (`loading="lazy"`, `fetchPriority`, `decoding="async"`)
- Pre-optimized images via Astro's `getImage()` on the server to maintain WebP conversions

Co-authored-by: fysp11 <13081700+fysp11@users.noreply.github.com>
@google-labs-jules

Copy link
Copy Markdown
Contributor

👋 Jules, reporting for duty! I'm here to lend a hand with this pull request.

When you start a review, I'll add a 👀 emoji to each comment to let you know I've read it. I'll focus on feedback directed at me and will do my best to stay out of conversations between you and other bots or reviewers to keep the noise down.

I'll push a commit with your requested changes shortly after. Please note there might be a delay between these steps, but rest assured I'm on the job!

For more direct control, you can switch me to Reactive Mode. When this mode is on, I will only act on comments where you specifically mention me with @jules. You can find this option in the Pull Request section of your global Jules UI settings. You can always switch back!

New to Jules? Learn more at jules.google/docs.


For security, I will only act on instructions from the user who triggered this task.

@kinsta

kinsta Bot commented Jul 27, 2026

Copy link
Copy Markdown

Preview deployments for fysp11.github.io ⚡️

Status Branch preview Commit preview
✅ Ready Visit preview Visit preview

Commit: 847b0612a86f21896b6adab68cbbfa4c81dbbf04

Deployment ID: 63d99a97-9c26-4e2b-9a13-571a2d1ecf60

Static site name: fysp11githubio-cleb3

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant