Report loading
checkmyvibecode.com
Preparing the full page inventory and screenshots.
Report loading
Preparing the full page inventory and screenshots.
Fair
Health Score
Score by category
The headline health score combines page-level quality and site-wide repeat patterns, then stays anchored to the weakest visible category so it never looks worse than every category beneath it.
Section 01
CheckMyVibeCode suffers from critical performance and security deficits that undermine its professional brand identity. While the site establishes a modern, cohesive aesthetic through the 'Geist' font family and an effective primary call-to-action above the fold, these strengths are overshadowed by severe technical debt.
The most significant risk is the extreme page weight and third-party dependency load. On desktop, the page exceeds 11 MB due to heavy third-party scripts, while mobile users face a 5 MB payload. This massive overhead, combined with an excessive DOM size of nearly 6,000 nodes on desktop, creates significant latency and degrades the user experience. Furthermore, the absence of a Content-Security-Policy (CSP) leaves the site vulnerable to XSS and injection attacks, representing a high-priority security gap.
There is a major opportunity to capture more organic traffic by resolving fundamental SEO and accessibility blockers. Currently, the site lacks an H1 heading and a canonical URL, which prevents search engines from properly indexing and ranking the page. Addressing these structural issues alongside the elevated Cumulative Layout Shift (CLS) will stabilize the visual experience and improve search visibility.
To stabilize the platform, the engineering team must prioritize the following in the first 30 days:
5 highest-impact findings, ranked.
Third-party scripts (analytics, embeds, ad pixels, font CDNs, chat widgets) are hosted outside your control and often render-block, INP-block, or both. Each adds DNS resolution + TLS overhead and can fail independently of your own infrastructure.
How to fix: Audit every third-party tag: drop ones you're no longer measuring, switch from <script> to async/defer, route analytics through a single tag manager, and self-host fonts as woff2 (most font CDNs add 50-150 KB per family).
On /
Third-party scripts (analytics, embeds, ad pixels, font CDNs, chat widgets) are hosted outside your control and often render-block, INP-block, or both. Each adds DNS resolution + TLS overhead and can fail independently of your own infrastructure.
How to fix: Audit every third-party tag: drop ones you're no longer measuring, switch from <script> to async/defer, route analytics through a single tag manager, and self-host fonts as woff2 (most font CDNs add 50-150 KB per family).
On /
No CSP header found. The site is vulnerable to XSS and injection attacks.
How to fix: Add a Content-Security-Policy header. Start restrictive: default-src 'self'; script-src 'self'; style-src 'self' 'unsafe-inline'
On /
Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds. Fix any of the following: Element has insufficient color contrast of 2.47 (foreground color: #949493, background color: #e8e8e5, font size: 7.5pt (10px), font weight: normal). Expected contrast ratio of 4.5:1
How to fix: Element matching `#searchKbd` has contrast ratio 2.47; WCAG AA requires 4.5:1. Increase the contrast between foreground and background colours (the Tailwind hint below proposes the next darker step in the same family if the offending class is a recognised palette utility). Reference: https://dequeuniversity.com/rules/axe/4.11/color-contrast?application=playwright
On /
Heavy pages take longer to transfer, parse, and execute — especially on mobile networks. Each megabyte over 2 MB measurably degrades LCP and INP, and significantly inflates data costs for users on metered plans.
How to fix: Audit the largest resources (typically JS bundles and images): split bundles by route, defer non-critical JS, use modern image formats (AVIF/WebP) at responsive sizes, and self-host critical fonts as woff2.
On /