← Resources

Studio

Why we
hand-code instead
of using
page builders.

Mar 20269 min readNous Frame

Webflow and Framer are excellent tools. We recommend them for specific projects. We also choose not to use them for the majority of what we build — not because they're bad, but because for our clients' goals, the tradeoffs don't balance. Here's the unfiltered version of why.

The performance gap is measurable

A Webflow-published site ships a runtime JavaScript bundle of 150–400kB (gzipped), regardless of how simple the page is. This bundle handles Webflow's Interaction and Animation system, CMS rendering, form logic, and layout engine — functionality that a hand-coded static site doesn't need and doesn't ship.

In a 2024 analysis by Request Metrics, Webflow-generated pages averaged an LCP of 3.4 seconds on mobile 4G versus 1.6 seconds for equivalent hand-coded pages — more than double the latency. This directly affects both ranking (Google's Core Web Vitals threshold is 2.5s for "Good" LCP) and conversion: Google's research on page speed and conversion shows that a 1-second improvement in mobile LCP correlates with an 8.4% increase in conversion rate for e-commerce and 10.1% for lead generation sites.

Framer performs better than Webflow on raw LCP — its output is closer to static React — but it generates significant unused CSS and relies on client-side routing that can inflate INP scores on interaction-heavy pages. Our benchmarks across client migration projects consistently show that moving from Framer to a custom Next.js build improves Lighthouse Performance scores by 15–25 points on mobile.

The SEO ceiling

Page builders have improved their SEO tooling substantially. Webflow's native SEO fields, 301 redirects, and auto-generated sitemap are functional for most use cases. The ceiling appears when you need:

Programmatic SEO at scale

If you need to generate 500 landing pages from a data source — one per city, per product, per use case — Webflow's CMS is limited to 10,000 items (on Enterprise) and cannot handle the templating complexity that custom code handles natively with a loop and a headless CMS.

Custom structured data

Webflow allows custom code embeds, but injecting per-page dynamic JSON-LD reliably requires workarounds (custom attributes + JS injection) that are fragile and break under Webflow's publishing pipeline. In code, it's a three-line component.

Full control over HTML output

Google's LLM crawlers and AI Overviews parse semantic HTML. Webflow outputs HTML that is correct but verbose — deeply nested divs, inline styles, and class naming conventions that add noise for parsers. Hand-coded semantic HTML with proper article, section, and heading structure is cleaner for both search engines and AI systems.

Core Web Vitals on mobile

As noted above, Webflow's runtime makes it structurally difficult to achieve "Good" INP scores on complex interactive pages. The underlying issue is that Webflow's JavaScript is not tree-shakeable — you ship all of it even if you use 10% of the features.

Total cost of ownership

The most common argument for page builders is upfront cost: a Webflow site can be built faster than a hand-coded equivalent, and faster build time means lower agency fees. This is true for simple brochure sites. It inverts on complex sites and over a 3–5 year horizon.

Cost factorPage builderCustom code
Initial buildLower (faster)Higher (slower)
Monthly platform fees$49–$299/mo (Webflow)Hosting only (~$20–80/mo)
Custom feature developmentExpensive (workarounds)Standard dev time
Performance fixesStructural limitsFully addressable
Migration (3–5yr)High (vendor lock-in)Low (portable code)
OwnershipVendorClient

When we do recommend page builders

Page builders are the right call in specific, common scenarios:

  • Fast MVP or pre-funding stage: A startup validating a product idea needs a website in 2 weeks, not 6. Webflow or Framer is the right tool. You can migrate when you're ready to invest in performance.
  • Marketing team autonomy over design: If the marketing team needs to redesign pages monthly and hiring a developer for every change is impractical, Webflow's Designer gives them the visual autonomy they need.
  • Low-complexity, low-traffic brochure sites: A 5-page informational site with no SEO ambitions and low traffic doesn't need the overhead of a custom stack. Webflow or Framer delivers the site faster and at lower cost.
  • Prototyping and design iteration: Framer in particular is excellent for rapid design iteration — design and publish at the same time. When design is still in flux, Framer is faster than building in code.

What we build instead

Our default stack for marketing sites is Next.js (App Router) with Tailwind CSS, deployed to Cloudflare Pages or Vercel. Content is managed via Sanity, Storyblok, or Payload depending on the project. The resulting sites ship 0–5kB of JavaScript for above-the-fold content, achieve LCP under 1.5s on mobile, and score 95+ on Lighthouse mobile — because nothing loads that isn't explicitly added.

The code is owned by the client, lives in a Git repository, and can be maintained by any competent React developer. There is no platform dependency. If Vercel's pricing changes, the site deploys to Cloudflare in an afternoon. If we as a studio close, the client is not locked into our proprietary Webflow account.

This is the version of long-term thinking that we think every client deserves — and the version we'd want if we were in their position.

Back to resources

All field notes