Teardowns

What 20 Next.js Agency Websites Show About Their Own Advice: Speed and Ownership (2026)

We read 20 Vercel partner agency websites on 28 October 2026: which run Next.js, how much JavaScript they ship, what real-user speed data exists, and who owns the content.

Summarize with AI
Octo Agency cover: What 20 Next.js Agency Websites Show About Their Own Advice, with a purple hexagon pattern

Six of the 20 agency websites we checked from Vercel's solution partner directory on 28 October 2026 do not run Next.js themselves. One of them, Blazity, sells Next.js performance optimisation and legacy to Next.js migration from a site built in Webflow. Another, Bejamas, lists Next.js as a core service and ships its own homepage in Astro with 16 KB of JavaScript, the lightest in the sample.

This teardown reads 20 Next.js and React agency websites as evidence: what framework each runs, how much JavaScript the homepage ships, what Google's Chrome UX Report says about real visitors, and where the content lives. The data comes from our own requests to each homepage, the Chrome UX Report as rendered by Treo, and the HTTP Archive's technology report for September 2026. The raw file is listed at the end of the method section.

How we chose the 20 and what we measured

We started from Vercel's solution partner directory, which listed 60 partners on 28 October 2026. We removed holding-company networks such as WPP and VML, consultancies describing teams of 500 or more, and SAP or commerce-platform specialists, then took 20 independent agencies whose directory profile is about building websites or web products. Being a Vercel partner does not mean an agency only builds in Next.js, which turned out to matter.

The checks and what each one tells a buyer
CheckHow we measured itWhy it matters
FrontendMarkers in the homepage HTML: /_next/ paths, data-wf-site, wp-content, /_astro/Does the agency use what it sells?
JavaScript weightCompressed size of every external script referenced in the initial HTMLA proxy for main-thread work on a phone
Field dataChrome UX Report, phones and all devices, via TreoWhat real Chrome visitors experienced
Content sourceImage and asset hosts in the HTML, such as cdn.sanity.io or a.storyblok.comWho can change the site without a developer
HostingResponse headers such as x-vercel-idWhere the "ownership" question really sits

Source: Octo Agency method; Core Web Vitals thresholds from web.dev, Google

Two limits. We did not run Lighthouse for this piece: lab scores vary from run to run and from machine to machine, and the field data says more about real visitors. The JavaScript figure counts only scripts named in the first HTML response, so tags loaded later by a tag manager are missing and the real totals are higher. Our raw data is saved as research/OB-0155-nextjs-agency-sites-2026-10-28.tsv.

The 20 sites: framework, weight and content source

Twenty Vercel partner agency homepages, 28 October 2026
AgencyFrontendContent sourceHTML, KBJavaScript, KB
10upWordPressWordPress1545
Basement StudioNext.js, App RouterSanity41923
BejamasAstroSanity signals1916
Big HumanNext.js, Pages RouterStrapi31369
BlazityWebflow, served through VercelWebflow28121
BrandungNext.js, App RouterStoryblok92402
Build in AmsterdamNext.js, Pages RouterStoryblok15381
Chapter ThreeNext.js, Pages RouterDrupal48287
Delicious SimplicityNext.js, App RouterNone visible13214
Engine DigitalBlocked by a bot challengeUnknownn/an/a
Enjoy DigitalUmbracoUmbraco49166
Feels LikeNext.js, Pages RouterDatoCMS10608
FishtankNext.js, Pages RouterSitecore951,642
FocusReactiveVite static buildNone visible17727
Hoo Koo E KooNext.js, Pages RouterPayload3229
MonogramNext.js, App RouterSanity140363
Space DinosaursNext.js, App RouterNone visible29269
UnlikelyNext.js, App RouterStoryblok38354
UNRVLDNext.js, App RouterSanity39320
WebstacksNext.js, App RouterSanity4511,113

Source: Octo Agency requests to each homepage, 2026-10-28; sizes are compressed transfer sizes

Next.js is the majority, not the rule. Fourteen of 20 run it, split eight on the App Router and six on the older Pages Router. The Pages Router sites are not broken, but an agency selling App Router migrations from a Pages Router site has a project of its own waiting.

The weight spread is wide. Excluding the two outliers, Fishtank at 1,642 KB and Webstacks at 1,113 KB, the Next.js homepages sit between 214 KB and 923 KB. Basement's 923 KB pays for a heavily animated portfolio, which is a fair trade for a design studio whose visitors are mostly on desktop. Webstacks' homepage HTML alone is 451 KB compressed, about 14 times the sample median of 31 KB, because the page carries its CMS data inline.

The lightest sites are not Next.js. Bejamas (Astro, 16 KB) and 10up (WordPress, 45 KB) ship a fraction of the JavaScript. Both agencies build Next.js for clients and chose something else for a mostly static marketing page, which is a sensible decision and the most honest advice in the sample.

Real-user speed: most of these sites are too small to measure

Google's Chrome UX Report only includes an origin that is publicly discoverable and "sufficiently popular", a visitor threshold Google does not disclose. Agency websites are low-traffic by nature, so the field data is thin.

Chrome UX Report results at the 75th percentile, read through Treo on 28 October 2026
AgencyFrontendPhone LCPPhone INPPhone CLSPhone passAll devices LCP
10upWordPress1.6 s100 ms0.00Yes1.4 s
BejamasAstro1.4 s150 ms0.00Yes0.9 s
Basement StudioNext.js1.4 s450 ms0.00No, INP1.0 s
UnlikelyNext.js2.1 sNo data0.00Not enough data1.7 s
FocusReactiveVite staticNo phone dataNo phone dataNo phone datan/a0.7 s, desktop
Enjoy DigitalUmbracoNo phone dataNo phone dataNo phone datan/a2.9 s, desktop

Source: Chrome UX Report monthly data via Treo, read 2026-10-28; good thresholds are LCP 2.5 s, INP 200 ms and CLS 0.1 (web.dev, Google)

Twelve more origins did not return data through Treo after repeated reads, and two showed no data at all. We report those as not measured, not as failing.

The pattern in the four phone results matches the web as a whole. Every site loads its main content quickly on a phone, with LCP between 1.4 and 2.1 seconds, and nobody shifts the layout. The one failure is responsiveness: Basement's homepage takes 450 ms at the 75th percentile to respond to a tap, more than twice the 200 ms threshold, and its 923 KB of JavaScript is the likely reason. Only 15% of Basement's Chrome traffic is on phones, so most of its visitors never see the problem.

What the wider web says about Next.js speed

The HTTP Archive's technology report gives the base rate the agency sites cannot. In September 2026, 35.7% of the 395,345 mobile origins detected as Next.js passed all three Core Web Vitals. Across all origins the figure was 52.8%, for Webflow 71.3% and for Astro 71.1%.

Core Web Vitals pass rates by framework, September 2026
TechnologyMobile originsPass, mobilePass, desktopGood LCP, mobileGood INP, mobile
Next.js395,34535.7%56.9%53.5%59.7%
Astro47,27771.1%84.6%81.1%85.0%
Webflow59,48371.3%82.6%78.6%88.0%
All origins8,569,44652.8%60.8%65.6%79.4%

Source: HTTP Archive Core Web Vitals technology report API, September 2026 crawl, read 2026-10-28

The Next.js number includes logged-in apps, dashboards and stores alongside marketing pages, which pulls it down, so it is not a verdict on any one agency. It does show where the risk lies: only 59.7% of Next.js mobile origins have a good INP, against 79.4% across the web. That is the same failure Basement shows. Our website speed statistics roundup covers the business case for these thresholds, and our piece Core Web Vitals Statistics 2026: Pass Rates by Platform and Industry breaks the pass rates down by platform.

The advice on the service pages, set against the sites

Most of the 20 make performance claims somewhere. We read the Next.js or performance service pages of six of them and set each claim against what their own homepage does.

Service page claims against the agency's own homepage
AgencyWhat the service page saysWhat its own homepage does
BlazitySells Next.js performance optimisation and migration "from stuck to fast"; diagnoses "with field data, not just Lighthouse scores"Built in Webflow and served through Vercel; no field data returned
BejamasNext.js done right, "then handed to a team that can own it"Runs Astro with 16 KB of JavaScript and passes on phones
WebstacksSpeed and SEO "are table-stakes for B2B websites, and Next.js delivers on both"Next.js with 451 KB of HTML and 1,113 KB of JavaScript; no field data returned
FocusReactiveNext.js development "engineered for best Core Web Vitals" (homepage); the hosting choice is "ours to make"A Vite static build, fast on desktop at 0.7 s LCP
Space DinosaursSpecialises in Core Web Vitals improvements; states "1 second of delay = 7% fewer conversions" without naming a sourceNext.js, 269 KB of JavaScript; no field data returned
Chapter ThreeA Next.js front end for Drupal sitesExactly that: Next.js reading from a Drupal CMS

Source: each agency's service and home pages, read 2026-10-28

None of this proves an agency builds slow client sites. Blazity's Webflow site is a reasonable choice for a marketing page that a non-developer edits, and a performance engineer may well know that Next.js is the wrong tool for it. Bejamas and FocusReactive made the same choice with different tools. The useful reading is the opposite of a gotcha: the agencies that know Next.js best often do not use it for a brochure site. That is also our position, which we set out in Webflow or Next.js for a marketing site.

The unsourced conversion figure on the Space Dinosaurs page is worth a separate note. A seven percent loss per second circulates widely in agency copy without a dataset behind it. If a partner quotes it, ask where it comes from.

Ownership: you own the code, but check the hosting and the CMS

The ownership argument for Next.js is real. It is open source, and its own documentation describes self-hosting on a Node.js server, in a Docker container or as a static export. FocusReactive's service page says it will sometimes deploy to AWS with full control over the runtime, and that in-house developers who inherit its codebases can extend them without the agency.

Two things complicate it on the agency sites themselves.

Hosting concentrates on one vendor. All 14 Next.js sites answered with Vercel headers, as did Blazity's Webflow site and FocusReactive's static build. That is unsurprising for Vercel partners and does not lock anyone in, but features such as image optimisation, caching and incremental regeneration need extra work when self-hosted. The Next.js documentation spends most of its self-hosting guide on cache handlers, encryption keys and version skew across servers. Ask the agency what moving off Vercel would cost before you sign.

Content ownership sits in a second vendor. Twelve of the 14 Next.js sites pull their content from a headless CMS: Sanity on four, Storyblok on three, and Strapi, Drupal, DatoCMS, Sitecore and Payload on one each. That is how marketers edit without a developer, and it means the client relationship spans a framework, a host and a CMS. Two sites, Delicious Simplicity and Space Dinosaurs, showed no CMS in their HTML, which may mean content lives in the code and every change needs a developer.

How to use this when choosing a Next.js agency

Read the agency's website as a sample of its work, with care.

1. Check what it runs. View the page source and search for "_next". If the agency sells Next.js and does not use it, ask why. A good answer, such as "a static site generator is lighter for a brochure", is a point in its favour.

2. Ask for field data on client sites. The agency's own origin is probably too small for the Chrome UX Report. Ask for 75th percentile LCP and INP on phones for two client sites with real traffic.

3. Ask about INP specifically. It is where Next.js sites fail most often, at 59.7% good on mobile across the web.

4. Ask who edits what. Name the CMS, who holds the account, and which changes need a deploy.

5. Ask what leaving the host involves. Self-hosting Next.js is documented and possible; the work it adds should be in the proposal.

For our part, we build marketing sites in Webflow and applications in Next.js, and our four-week marketing-site process assumes a marketer will edit the site after launch. We would recommend Next.js for a marketing site only when it shares components or logins with a product, and we state that bias. Our white-label partner comparison applies the same read-the-site method to agencies selling capacity. If you need an application rather than a brochure, our web apps service page explains how we scope it.

Frequently asked questions

Should a Next.js agency's own website be built in Next.js?

Not necessarily. Of 20 Vercel partner agency websites we checked on 28 October 2026, 14 ran Next.js and six did not. Bejamas used Astro with 16 KB of JavaScript and passed Core Web Vitals on phones; Blazity used Webflow. For a mostly static marketing page, a lighter tool can be the better choice. What matters is whether the agency can explain why it picked its own stack.

How fast are Next.js agency websites?

Most are too small for Google's Chrome UX Report to measure. Only 6 of 20 agency origins returned field data through Treo on 28 October 2026, and four had phone data. All four loaded their main content in 1.4 to 2.1 seconds on phones; one failed on responsiveness with a 450 ms INP. Their homepages referenced a median of 366 KB of compressed JavaScript.

Do Next.js sites pass Core Web Vitals?

Less often than average. The HTTP Archive found that 35.7% of 395,345 mobile Next.js origins passed all three Core Web Vitals in September 2026, against 52.8% for all origins and 71.1% for Astro. Desktop is better at 56.9%. The weak point is INP, good on only 59.7% of mobile Next.js origins. The figure includes apps and stores, which pull it down.

Do I own my site if an agency builds it in Next.js?

You own the code if the contract says so, and Next.js is open source with documented self-hosting on Node.js, Docker or a static export. Two other vendors usually sit alongside it: the host, often Vercel, and a headless CMS. In our sample of 14 Next.js agency sites, 12 used a headless CMS. Confirm who holds those accounts and what moving host would cost.

What should I ask a Next.js agency before hiring it?

Ask for 75th percentile LCP and INP on phones for two client sites with real traffic, since the agency's own site may be too small to measure. Ask which CMS it uses and who holds the account, which changes need a developer, and what self-hosting would add if you left Vercel. Ask why its own website uses the stack it does.

Sources

  1. Solution partners Vercel, 2026
  2. Core Web Vitals technology report API, Next.js, Astro, Webflow and all origins HTTP Archive, 2026
  3. CrUX methodology Chrome for Developers, Google, 2024
  4. Web Vitals web.dev, Google, 2024
  5. Site speed audit, Chrome UX Report data by origin Treo, reporting Chrome UX Report data; the same page read for each of the 20 origins, 2026
  6. How to self-host your Next.js application Next.js documentation, Vercel, 2026
  7. Next.js Performance Optimization Blazity, 2026
  8. Legacy to Next.js Migration Blazity, 2026
  9. Next.js development Bejamas, 2026
  10. Next.js development Webstacks, 2026
  11. Next.js expert agency FocusReactive, 2026
  12. Headless CMS Development Company FocusReactive, 2026
  13. Performance optimization Space Dinosaurs, 2026
  14. Next.js for Drupal Chapter Three, 2026

Tags

  • Next.js
  • Agencies
  • Performance
  • Teardown
Mihajlo Stojanovic

Mihajlo Stojanovic

Co-founder, Octo Agency

Mihajlo runs the technical side of Octo Agency: Webflow builds, custom backends and the systems that keep a site editable after launch. He has shipped more than twenty Webflow sites a year as a white-label partner and writes about what survives contact with a real marketing team.

Veljko Nikolic

Reviewed by

Veljko Nikolic

Founder, Octo Agency

Veljko runs the build side of Octo Agency. He has shipped marketing sites for B2B teams in legal tech, health and manufacturing, and writes about what survives contact with a real review cycle.