Skip to content
optimization

marcofaul.de — This Website

The site you are reading: a fully static Nuxt 4 build on Netlify + Cloudflare, tuned until every render-blocking millisecond was traced and removed

Duration
Ongoing
Year
2026
Category
optimization

Key Results

Each LCP root cause was found via repeated Lighthouse runs and fixed at the source instead of masked with tricks.

1.1s → 0.17s
First Paint
after removing the JS reveal-gate that held the SSR-rendered hero
−1.3s
Font Render Delay
font-display: optional without preload — fallback paints instantly
100% static
Image Delivery
prerendered image variants instead of 5.8s cold runtime CDN transforms
Automated
Cache Purge
Cloudflare edge cache purged on every successful deploy

Technologies Used

Nuxt 4Vue.jsTypeScriptTailwindCSSNetlifyCloudflare

Challenges

  • Reveal animations gated the first paint on the JS chain despite visible SSR HTML
  • Preloading an optional webfont made Chrome hold the first render for ~1.3s
  • Runtime image CDN transforms took up to 5.8s on cold cache
  • Cloudflare edge cache served stale HTML after deploys

Solutions

  • Removed reveal animations above the fold — the hero renders as static SSR HTML
  • Dropped the font preload so the metric-adjusted fallback paints immediately
  • Switched to prerendered static image variants generated at build time
  • Built a Netlify plugin that purges the Cloudflare cache on every successful deploy

Overview

This website doubles as an open case study in web performance. It is a fully prerendered Nuxt 4 site served from the Netlify edge behind Cloudflare. Every Core Web Vitals regression was measured with repeated Lighthouse crawls, traced to its root cause, and fixed at the source: reveal animations no longer gate the first paint, the webfont no longer holds rendering, all image variants are prerendered at build time, and a deploy plugin purges the Cloudflare cache automatically so visitors never see stale pages.

Visit live site