Pagespeed Desktop Review 2026 06 16
PageSpeed desktop review — www.assistance.bg — 2026-06-16
Scope: prioritized no-code review of the provided PageSpeed Insights desktop snapshot for https://www.assistance.bg/, with source mapping to the repo surface that owns the live page.
Evidence baseline#
This review is based on the embedded Lighthouse JSON in the provided PageSpeed UI route, extracted with curl from https://pagespeed.web.dev/analysis/https-www-assistance-bg/trv6ytaqof?form_factor=desktop. It is not based on a fresh PageSpeed run.
Lab metrics:
The report is lab-only because CrUX field data is unavailable for both the page URL and origin. Key diagnostic totals: 800 KiB network payload, 1.0 s JavaScript execution, 1.6 s main-thread work, 5 long tasks, and 34 non-composited animated elements.
Source mapping#
The live/source target for this review is apps/www.
Evidence:
README.mdidentifiesapps/wwwas the marketing site..mise.tomldeploysapps/www/.next-buildto Cloudflare Pages projectassistance-wwwwithcf:deploy:www.apps/www/wrangler.tomldeclaresname = "assistance-www"andpages_build_output_dir = ".next-build".apps/www/next.config.mjsis a static Next export withoutput: 'export'anddistDirset fromNEXT_DIST_DIR.apps/www/public/_headerscontains production rules forwww.assistance.bgand immutable caching for/_next/static/*.- The PageSpeed report and live HTML use Next
/_next/static/*assets, matchingapps/wwwrather than a Vite/assets/*app.
Earlier uncertainty around an apps/marketing production owner should be treated as stale or ambiguous for this URL. Do not use apps/marketing as the remediation target unless new deployment evidence contradicts the current apps/www mapping.
Prioritized findings#
P1 — Third-party analytics is the largest named desktop cost#
What PageSpeed reports:
- Unused JavaScript: 104 KiB / 160 ms.
- Google tag script:
https://www.googletagmanager.com/gtag/js?id=G-3KQWLZJ69Q. - GTM transfer/main-thread cost: 159,457 bytes / 136.95 ms.
Repo mapping:
apps/www/app/providers.tsxdefers telemetry until interaction, scroll, touch, keydown, or a 3s idle fallback.- The deferred block mounts
TelemetryTagManager,GoogleAnalytics, andPageTelemetryfrom the sharedcommonpackage.
Recommended next actions:
- Verify whether the 3s idle fallback causes analytics to load during Lighthouse collection without real user intent.
- Audit the GTM container and remove unused tags/triggers.
- If business requirements allow, keep analytics behind stronger user-intent or consent gates for the initial page load.
- Prefer a minimal direct
gtagsetup over GTM if the container remains heavier than its value.
P1 — Landing page JavaScript has avoidable unused/hydration work#
What PageSpeed reports:
- Unused app JavaScript includes
https://www.assistance.bg/_next/static/chunks/6258-ff03de593974c853.js. - JavaScript execution time is 1.0 s.
- Main-thread work is 1.6 s.
- Lighthouse found 5 long tasks.
Repo mapping:
apps/www/app/page.tsxrenders the full homepage route: hero, products, use cases, code examples, features, capabilities, global reach, testimonials, trust indicators, and CTA.apps/www/app/providers.tsxglobally mounts auth, feature flags, dev toolbar provider, theme, Framer MotionLazyMotion, tooltip provider, command provider/menu, form dialog provider, toaster, telemetry, andDevToolbar.apps/www/package.jsonincludes heavy interactive libraries such asframer-motion,@react-three/fiber,@react-three/drei,three,cobe, Recharts, MDX/code tooling, command-menu dependencies, and form/dialog dependencies.apps/www/components/Global/GlobalReach.tsxalready lazy-loads the 3D globe withssr: false, but it remains part of the homepage interaction surface.
Recommended next actions:
- Run the Next bundle analyzer for
apps/wwwand identify the module composition of chunk6258. - Use Chrome Coverage on the verified
www.assistance.bgpage to identify unused providers and below-the-fold client sections. - Move command menu, form dialog rendering, dev tooling, and other non-critical global UI behind explicit user intent where feasible.
- Keep above-the-fold hero content static/server-rendered and split below-the-fold interactive sections independently.
P2 — Render-blocking and unused CSS are modest but clear wins#
What PageSpeed reports:
- Render-blocking Next CSS: 190 ms.
- Unused CSS: 39 KiB in
https://www.assistance.bg/_next/static/css/cbd9d7e6ca22c268.css.
Repo mapping:
apps/www/app/layout.tsxglobally imports@code-hike/mdx/styles,config/code-hike.scss, and../styles/index.css.apps/www/styles/index.cssis the broad global style surface for the app.
Recommended next actions:
- Confirm whether Code Hike CSS is needed on the homepage or only on MDX/code-heavy routes.
- Keep design tokens and resets global, but route-scope heavy MDX/code/component CSS where possible.
- Re-check LCP/FCP and render-blocking time after CSS scoping.
P2 — Legacy JavaScript adds secondary compatibility bytes#
What PageSpeed reports:
- Legacy JavaScript savings: 21 KiB.
- Affected chunks include
5908and6258.
Repo mapping:
apps/www/next.config.mjscontrols Next transpilation and explicitly transpiles several workspace/shared packages.apps/www/package.jsonpulls in a broad dependency set; legacy output should be attributed by bundle analyzer before changing browser targets.
Recommended next actions:
- Identify the exact legacy transforms from Lighthouse and bundle output.
- Confirm the production browser support policy.
- Avoid transpiling modern dependencies unless required by the actual support matrix.
P2 — Forced reflow and non-composited animations create CPU risk#
What PageSpeed reports:
- Forced reflow: 82.45 ms.
- Non-composited animated elements: 34.
Repo mapping:
apps/www/styles/index.cssdefines broad animation and transition behavior.apps/www/components/Effects/SpotlightCursor.tsxreadsgetBoundingClientRect()on every mousemove and updates React state.apps/www/components/Global/GlobalReach.tsxand multiple homepage sections use Framer Motion in-view animations.
Recommended next actions:
- Use a Chrome Performance trace to identify exact forced-reflow initiators before rewriting animations.
- Prefer
transformandopacityfor animation; avoid layout-affecting properties. - Throttle pointer-driven effects or move them to CSS variables/requestAnimationFrame instead of React state per mousemove.
- Respect
prefers-reduced-motionand disable decorative motion on low-power contexts.
P3 — Accessibility issues are small but concrete#
What PageSpeed reports:
- Accessibility score: 95.
- Failing audits: heading order and touch targets.
Likely repo mapping:
- Heading order: homepage/footer heading components under
apps/www/components/*. - Touch targets: testimonial dot buttons in
apps/www/components/Testimonials/*.
Recommended next actions:
- Fix heading levels semantically without changing visual hierarchy.
- Increase testimonial dot hit areas/spacing while preserving the visual design.
- Re-run Lighthouse Accessibility or axe against the verified deployment.
Recommended remediation sequence#
- Treat
apps/wwwas the remediation target unless new deployment evidence supersedes it. - Trim/defer GTM and analytics first; this is the largest named transfer/main-thread offender.
- Identify chunk
6258with bundle analyzer and reduce unused app JavaScript from global providers and below-the-fold sections. - Scope homepage-unused CSS, especially MDX/Code Hike styles if coverage confirms they are unused on
/. - Fix forced reflow and non-composited animation sources from trace evidence.
- Clear the heading-order and testimonial touch-target accessibility findings.
Follow-up success criteria#
- Performance remains at or above 90 while third-party transfer and main-thread time decrease.
- Unused JavaScript drops materially from 104 KiB, with GTM and app chunk contributions tracked separately.
- Render-blocking CSS stays below 190 ms and unused CSS drops from 39 KiB.
- Forced reflow drops below 82.45 ms and non-composited animation warnings decrease.
- Accessibility heading-order and touch-target failures are fixed or explicitly accepted with rationale.