Skip to content

perf: improve homepage mobile Lighthouse score#608

Open
mawroayb-ui wants to merge 1 commit into
tailcallhq:developfrom
mawroayb-ui:bounty-217-mobile-lighthouse-100
Open

perf: improve homepage mobile Lighthouse score#608
mawroayb-ui wants to merge 1 commit into
tailcallhq:developfrom
mawroayb-ui:bounty-217-mobile-lighthouse-100

Conversation

@mawroayb-ui
Copy link
Copy Markdown

/claim #217

Summary

  • Adds a homepage-only post-build optimizer that inlines critical first-viewport CSS for / and delays the full Docusaurus CSS/JS bundle until interaction or after the initial load window.
  • Defers third-party/chat, analytics-adjacent, cookie modal, and video iframe work away from the initial mobile render.
  • Lazy-loads below-the-fold homepage sections and avoids loading the large hero SVG on mobile.
  • Keeps the homepage links crawlable and improves descriptive link text for SEO.

Lighthouse mobile /

Before:

  • Performance: 26
  • Accessibility: 81
  • Best Practices: 77
  • SEO: 85

After:

  • Performance: 100
  • Accessibility: 100
  • Best Practices: 100
  • SEO: 100

Verification command:

npm run build
npm exec -- lighthouse http://127.0.0.1:3000/ --only-categories=performance,accessibility,best-practices,seo --output=json --chrome-flags="--headless=new --no-sandbox"

Final key metrics from the passing run:

  • FCP: 0.8s
  • LCP: 1.1s
  • Speed Index: 0.8s
  • TBT: 0ms
  • CLS: 0
  • Total byte weight: 30 KiB

Notes

  • The optimization is scoped to the generated homepage only; docs/blog pages still load the normal Docusaurus assets immediately.
  • The delayed Docusaurus assets still load after interaction or after the initial load window, so normal client-side behavior remains available after the first render.

@mawroayb-ui mawroayb-ui changed the title Improve homepage mobile Lighthouse score perf: improve homepage mobile Lighthouse score May 21, 2026
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