Performance Budgets

Performance is
non-negotiable.

Set hard limits on JavaScript size, image weight, route speed, and Core Web Vitals thresholds. Breaches trigger Slack alerts, webhooks, or fail the CI build before code reaches production.

Performance budgets

Enforce limits,
not wishes.

Set hard limits on JavaScript size, image weight, route speed, and Core Web Vitals. Breaches trigger Slack alerts, webhooks, or fail the CI build before code reaches production.

JavaScript sizePass
142 KB/ 180 KB
0 KB180 KB
LCPPass
1.9 s/ 2.5 s
0 s2.5 s
INPPass
96 ms/ 200 ms
0 ms200 ms
CLSPass
0.04/ 0.10
0 0.10
Image weightFail
612 KB/ 500 KB
0 KB500 KB
Route loadPass
0.8 s/ 1.0 s
0 s1.0 s
Alert · Budget breached2 min ago

Image weight on /blog/[slug] exceeded the 500 KB budget by 112 KB. Largest contributor: hero-og-image.png (640 KB).

Slack · #perf-alertsLinear · auto-filedWebhook · ci-fail
Budget enforcement
  • Block PRs that breach a budget via @pagepulse/ci
  • Tag every regression to the offending commit
  • Promote a budget to an SLO with burn-rate tracking
  • Auto-file Linear, Jira, or GitHub issues on breach
  • Stream budget breaches to any webhook endpoint
Recommended budgets

Sensible defaults to start from.

These are the budgets we recommend as a starting point. Adjust per route based on your actual real-user data, then tighten over time.

JavaScript size180 KB

Enough for a modern framework, router, and your app code. Forces you to tree-shake and lazy-load.

LCP2.5 s

Google's 'good' threshold at the 75th percentile of real-user traffic.

INP200 ms

Google's 'good' threshold. Interactions over 200ms feel sluggish to most users.

CLS0.10

Google's 'good' threshold. Layout shifts above 0.1 are noticeable and erode trust.

Image weight500 KB

Cap hero and product images. Forces modern formats (AVIF, WebP) and proper srcset.

Route load1.0 s

Per-route budget for client-side navigation. Keeps your app feeling instant.

Ready to ship
faster pages?

Join thousands of frontend teams monitoring Core Web Vitals with PagePulse. Install in 2 minutes, see results today.

No credit card required