SIGNALStudio · livePHXWX74°F · clear · light wind from WDEPLOYrizing.com · main@9c4f12 · 38s agoNOWShipping: NASCAR / Vitalyst / 2 stealthBOOKINGQ3 2026 — 2 slots leftON AIRKhruangbin — Maria TambiénUPTIME21y · 4mo · 11dSAYING"No, that’s a bad idea." — every PM, weeklySIGNALStudio · livePHXWX74°F · clear · light wind from WDEPLOYrizing.com · main@9c4f12 · 38s agoNOWShipping: NASCAR / Vitalyst / 2 stealthBOOKINGQ3 2026 — 2 slots leftON AIRKhruangbin — Maria TambiénUPTIME21y · 4mo · 11dSAYING"No, that’s a bad idea." — every PM, weekly
NASCAR Studios

Race-weekend traffic spikes, served from cache. Editors ship live.

97 → 100Lighthouse · mobile
StoryblokAstroCloudflare

NASCAR Studios produces race-weekend content across web and OTT. Traffic spikes 40× on race day. Their previous site went down twice in a season under load. Editors needed to publish lap-by-lap updates without a developer present.

NASCAR Studios produces content for race weekends: driver profiles, race previews, lap-by-lap updates, and post-race analysis. Traffic spikes 40× on race day — from 50k concurrent users on a Tuesday to 2M on a Sunday afternoon. Their previous site had gone down twice in a season under load, both times requiring a developer to manually flush the CDN cache.

The performance constraint The site had to serve race-day traffic from cache, period. No origin requests on race day. This shaped every architecture decision: content had to be fully pre-rendered, cache invalidation had to be surgical (invalidate one driver's page, not the entire site), and the CMS had to publish without triggering a full rebuild.

Storyblok + Astro on Cloudflare Pages We chose Astro for its island architecture — the majority of the site is zero-JS static HTML, with interactive components hydrated only where needed. Storyblok's webhook-driven ISR let editors publish a story update and see it live in under 10 seconds without touching the build pipeline.

Cloudflare Pages serves the site from 300+ edge locations. On race day, every page is already in cache at every location. The 40× traffic spike hits cache, not origin. We load-tested to 5M concurrent requests before the first race weekend.

Lighthouse 97 → 100 The previous site scored 97 on mobile Lighthouse — good, but not perfect. Three things pulled it to 100: replacing a third-party font loader with next/font-equivalent static loading in Astro, lazy-loading below-the-fold images with proper width and height attributes, and moving the analytics snippet to requestIdleCallback. The 3-point improvement reduced bounce rate by 8% on mobile.

Editorial workflow Editors use Storyblok's visual editor to compose race previews before the weekend, schedule them for publication, and publish lap-by-lap updates from pit lane on a tablet. No developer is present on race day. The Cloudflare cache purge happens automatically via Storyblok webhook — editors see their changes live in under 10 seconds.

Race-weekend traffic spikes, served from cache. Editors ship live. | Factor1 Studios