NUTTIFOX / GUIDE--:--:-- Available · Q4 2026
← All writingGuide

When Framer is not enough

Sep 2026 · 7 min read · Updated Sep 2026

Quick answer

Framer is enough when the thing is a marketing site: pages, a CMS, a form, maybe one code component. It is not enough when people log in to their own data, when you have roles and billing, or when most of the page is already hand-written React. We keep the site in Framer and move the product to a stack that can own accounts. We do not graduate a healthy marketing site for sport, and we do not stretch the canvas into a SaaS because the first version was pretty.

Key takeaways

  • The ceiling is the job, not the logo. Framer hosts sites. It does not owe you a product.
  • A small code component is the escape hatch. A page that is only code is a resignation letter.
  • Login, permissions, billing, and user-owned data are the usual tripwires.
  • Graduation means two surfaces: the site stays, the app leaves. That is cheaper than a rewrite of both.
  • If the complaint is taste or speed, stay. Those are different guides.
/01

What Framer is still enough for

stay here

A brand site. A launch page. Docs links, changelog, careers, a blog a marketer updates. Collections. A pricing table. A calculator or a custom form that is one component with named props. That is the job we take on as Framer development every week. If that is still your brief, this page is not for you. Read Framer vs Webflow or website vs product instead.

We are a Framer Enterprise Agency. The useful version of that badge is knowing when to put the file down. Framer Pro is $30 a month per site on the yearly list we checked in Sep 2026. That line does not buy you auth. Stretching the canvas past the job is how you get a slow, uneditable “app” that still cannot reset a password.

/02

Signs you have hit the wall

People log in

Not a form. An account, their records, a session that has to be wrong-safely. That is a product.

Roles and permissions

Admin versus member versus billed seat. CMS roles are for editors. They are not tenancy.

Money moves

Plans, seats, usage, invoices the customer can see. Stripe in an embed is a checkout. Billing is a system.

The page is already code

If a designer cannot change the label without a repo, you have left no-code. Finish the move.

The CMS is pretending to be a database

Relations that are really a graph, records that are really user data. Collections are pages. They are not your product model.

One of those is a conversation. Three of them is a brief for custom SaaS or an MVP, with the marketing site left where it is. “We like Framer” is not a counter-argument. We like it too. We like it for the job it has.

/03

When a code component is still enough

small hatch

A code component is the honest middle. Real React, named props, still on the canvas. Use it for a pricing calculator, a chart, a form the native blocks cannot do, a piece of motion the timeline cannot express. One surface. Documented so a designer can still change the label.

The rule: if the rest of the page is still Framer, the hatch is doing its job. If you are writing the layout in code because the canvas got in the way, stop. You are paying no-code rent for a repo. At that point the cheaper move is a product page in the product, and a marketing page in Framer.

Not a host problem

Slow LCP, late fonts, a chat widget — that is a budget. Read Framer speed in practice. Do not graduate the stack because a PNG was heavy. Do not stay on the stack because the hero was pretty.

/04

How we graduate — without throwing the site away

The site stays. URLs that earn stay. The app gets its own origin, its own auth, its own model. Shared type and colour if you have a design system. That is the split most companies already needed when they asked for “Framer plus an account.”

  1. 01
    Name the loop that is not a page

    Sign in, their records, the job they return for. If you cannot name it, you do not have a product yet. You have a feature request on a website.

  2. 02
    Keep every URL that sells

    The homepage, pricing, the story. Those stay in Framer. Redirects are for paths you are killing, not for a re-platform of the brochure.

  3. 03
    Pick the smallest product stack

    An MVP if you are proving the loop. A custom build if the model already broke a template. Lovable or Replit if the next step is a spike, not a tenant graph.

  4. 04
    Cut over on the action, not the brand

    The CTA that used to fake a dashboard now goes to the real app. Dual-running a fake portal is how you teach users the wrong thing.

Chris Nutbeen

“Framer's job is the page a stranger trusts. The moment the stranger is a user with data, you are in a different business. Keep the page. Move the data.”

Chris NutbeenNuttifox
/05

When not to leave

  • The site converts and marketing can edit it. Stay. Taste is not a ceiling.
  • You wanted Webflow or WordPress instead. That is a canvas or a desk, not an escape from this problem. Read those pages.
  • You wanted Figma first. That is a file question. It does not give you auth.
  • The only pain is speed. Fix the file. Do not buy a framework.
  • The “app” is three people in ops. That is an internal tool. Graduation to SaaS is a market, not a feeling.

We will say this on the call. Rebuilding a healthy Framer marketing site into Next.js because a tweet said “production” is how you spend the quarter you needed for the actual product. Rates are on the contact page. The quote should name which surface we are moving.

/06

FAQ

Answers
faq.mdx
01

Can Framer replace a custom app?

No. It can host the site that sells the app, and a small component on that site. Accounts and user data belong in a product stack.
02

Should we move our Framer site to Next.js?

Not if it is a marketing site that works. Move the product. Leave the pages. A full rewrite is for a site that is already an app in denial.
03

Is a Framer code component “going to code”?

It is a hatch, not a graduation. You are still in Framer if a designer can change the page. You have left when they cannot.
04

We started in Framer and now we need login. What now?

Keep Framer for the public pages. Build the logged-in loop as an MVP or a custom app. Point the CTA at the real thing. Do not invent memberships on the canvas.
05

Does this mean Framer was the wrong first choice?

Usually no. A site that sold the idea was the right first choice. The mistake is refusing the second surface when the idea works.
06

Can you do the graduation?

Yes. Site stays on Framer; product on the stack the loop needs. We will not sell you a move if a component or a speed pass would have been enough.

Have something to build? Let’s ship it.

Book a call