We optimize your Core Web Vitals in < 21 days.
- LCP, INP, CLS into Google's “Good” range
- Lighthouse 90+ on mobile — or your money back
- Performance budget wired into CI
- Real-user monitoring from day one
Measured, not promised.
Real-user data
CrUX + field-level RUM, not lab only
21-day sprint
Fixed timeline, fixed scope, fixed price
CI-guarded
Budget checks on every PR
SLA guarantee
Refund if we don't hit the target
1 second of delay = 7% lost conversions.
- Slow Core Web Vitals = lower Google ranking.
- Mobile users abandon after 3s of load — on 4G, that's most of them.
- Ad campaigns with bad landing pages pay more per click and convert less.
- Every redesign that ignores performance ships the same bottleneck.
- Your competitors' sites already load in under 2 seconds.
What a slow site actually costs
| Lost conversions per 1s delay | -7% |
| Mobile bounce on slow LCP | +32% |
| SEO ranking drop (poor CWV) | -5 to -15 pos |
| Brand perception | priceless |
NITRO: the six levers we pull on every project.
Performance audit
Deep-dive on LCP, INP, CLS, TTFB, bundle size. CrUX data, WebPageTest, Lighthouse CI — cross-referenced.
Critical-path surgery
Preload, priority hints, font subsetting, image formats (AVIF / responsive), server push strategy.
JS diet & scheduler
Long-task breakdown, code-splitting, route-level lazy loading, hydration strategy (islands / partial).
Layout stability
Reserved image dimensions, font-display tuning, skeleton states, ad-slot sizing, late-inserted-content fixes.
Edge & caching
CDN, edge rendering, ISR / SSG strategy, database indexes, cache layers (Redis / KV), HTTP/3.
RUM + perf budgets
Field RUM (Vercel Speed Insights / Datadog / Sentry), Lighthouse CI, performance budgets per route, regression alerts.
Before / after. Real projects.
Names anonymized. Numbers are from real Search Console + CrUX reports post-launch.
A 21-day sprint that makes your site measurably faster.
Six steps from baseline to “Good” across Core Web Vitals. Each with a deliverable.
Kickoff & access
Repo, CDN, analytics access. RUM snippet deployed. Baseline captured.
Deep audit
Field + lab analysis, flame-graphs, bundle breakdown. Prioritized fix backlog with impact estimates.
Quick wins
Image formats, preload, font-display, dead-code removal, third-party loading strategy.
Structural fixes
Code-splitting, hydration, caching layers, route-level SSR/SSG, database hotspots.
Budget & CI
Performance budget per route. Lighthouse CI in the pipeline. PR-level regression checks.
Handoff + RUM
Dashboard, runbook, alerts. 30-day monitoring window included. Optional SLA from there.
Definition of Done
Pick your speed target.
Audit
- Field (CrUX) + lab baseline
- Prioritized fix backlog
- Effort × impact estimates
- Written report + Loom walkthrough
Sprint
- Everything in Audit
- LCP / INP / CLS fixes shipped
- Caching + edge strategy
- Perf budget + CI gates
- RUM dashboard + alerts
- 30-day monitoring window
Guardian
- Everything in Sprint
- Monthly RUM review
- Regression triage & fix
- PR-level perf review
- SLA on CWV regressions
What strongly affects price
- Number of templates / routes to optimize
- Third-party tag load (analytics, ads, chat)
- Legacy JS frameworks (AngularJS, older React)
- Regional traffic mix (APAC / LATAM)
What NITRO does NOT include
- Full redesign / UX overhaul
- Back-end rewrites unrelated to perf
- SEO content or link-building
The questions every CTO asks first.
21 days — realistic on a real codebase?
Yes, if scope is clear. The Audit locks the backlog before Sprint starts. If your stack needs more, we say so on day 5 — not day 18.
Will you fight our dev team?
No. We pair. Every change lands through your normal PR flow with a review doc. Your engineers learn the patterns.
We have third-party scripts we can't remove.
Understood. We isolate them — lazy load, defer, partition — and measure main-thread impact. We won't break marketing.
What if you don't hit the numbers?
We publish targets after the Audit. If we don't hit them in 21 days, you get a full refund for Sprint — keep the Audit.
Does this work for non-Next.js stacks?
Yes — Astro, Nuxt, Remix, SvelteKit, plain SSR Rails / Laravel, Shopify Hydrogen. Even legacy jQuery, if you accept trade-offs.
Why not just use a CDN?
A CDN fixes TTFB. It doesn't fix 800kb of JS, bad images, or layout thrash. NITRO fixes the whole critical path.
Check your site before you call us.
Free calculators and scanners to benchmark where you stand.
CWV Snapshot
Paste a URL, get field LCP / INP / CLS in under 30 seconds.
Speed-to-Revenue
Model your monthly loss from slow pages — per funnel step.
Bundle Analyzer
Drop your stats.json, see the 5 biggest offenders and where to split.
Project Estimator
Estimate a NITRO sprint for your stack, traffic, and template count.
The toolbox behind every NITRO sprint.
You keep your stack. We ship diffs, not rewrites. Everything we add lives in your repo — your team can keep it running after day 21.
FAQ about Core Web Vitals & NITRO.
Google's three user-experience metrics: LCP (how fast the main content appears), INP (how fast the page responds to clicks/taps), CLS (how stable the layout stays). They feed into search ranking and are visible to every user.
Lab numbers shift on day 1 of fixes. Field numbers (CrUX, RUM p75) need 7–14 days to stabilize because they aggregate real traffic. By day 21, the field picture is clean.
Audit starts from PLN 12k. A typical Sprint is PLN 45–85k depending on stack and template count. Guardian from PLN 9k/mo. Exact number after the 15-min call.
We fix the technical layer — CWV, crawl budget, structured data, render strategy. Content and link-building is out of scope; we work alongside your SEO partner.
That's 90% of NITRO engagements. Our Audit is designed to get any senior engineer productive in a new codebase within 3 days.
We publish targets at the end of Audit. If the 21-day Sprint misses them on the pages we agreed, you get a full Sprint refund. The Audit is non-refundable — it's real work, delivered.
Send us a URL. We'll tell you where you're losing speed.
Free 48h audit snapshot. No obligations.