Skip to main content
Back to AI Commerce Lab
AI·July 2025·9 min read

Design Without Limits: How AI and No-Code Tools Are Reshaping UI Development

AI and no-code tools now generate working UI from a prompt or a design file, not just a static mockup. v0 outputs a full Next.js app with real routing and database connections; Figma Make turns a design into an interactive prototype in the same tool designers already use. The bottleneck moved from "who can write the code" to "who reviews what the model wrote" — and most teams haven't adjusted their process for that shift.

What these tools generate now, specifically

The claim that AI design tools "remove technical barriers" undersells what's actually changed. These tools don't just scaffold a mockup — they produce deployable code against a real stack.

v0: prompt to a running full-stack app

v0 turns a natural-language description into a Next.js and React project styled with Tailwind CSS and shadcn/ui components, and runs the live preview in Vercel Sandbox — an isolated virtual machine where server-side code, API routes, and database connections behave as they would in production, not a browser-only mock.

Changes sync to GitHub through branches and pull requests rather than direct commits to main, which matters more than it sounds: it means an AI-generated change goes through the same review gate a human PR would, if the team actually enforces that gate.

Figma Make: design file to interactive prototype, in place

Figma Make takes an existing Figma design, component, or plain-language prompt and produces a working prototype inside the same tool a design team already uses for static mockups. Designers can then edit the generated code directly or keep iterating through the chat interface.

The tool explicitly puts responsibility for content licensing on the user — Figma's own documentation notes you're responsible for ensuring you have rights to any content before publishing. That's worth internalizing: AI generation doesn't launder licensing risk, it just makes the output easier to publish before anyone checks.

Builder.io: visual editing wired into a production codebase

Builder.io's visual editor connects directly to an existing site or app rather than generating a standalone one, letting non-engineering teams edit real page sections while structured data — like navigation menus — stays available to the application through its API and SDKs.

This is the meaningful distinction from a pure prototyping tool: Builder is designed to sit inside a codebase your engineering team already owns and deploys, not to replace that codebase.

For commerce teams specifically, that's the difference between "marketing can update a promo banner without a deploy" and "marketing accidentally shipped an unreviewed checkout change." The tool's value depends entirely on which pages it's scoped to touch.

What these tools are not: a replacement for engineering review

Every one of these platforms generates code fast enough that "we'll review it later" becomes "we shipped it." That's the actual operational risk, and it's a process gap, not a tooling gap.

An AI-generated component that renders correctly has cleared the lowest bar there is. It hasn't been checked for accessibility, performance regressions, or whether it silently duplicates an existing design-system component.

Security risk didn't disappear when the code got easier to generate

OWASP's Low-Code/No-Code security research — now folded into its citizen development risk work — documents ten recurring risk categories found across scans of production low-code/no-code applications, including account impersonation, authorization misuse, and vulnerable or untrusted components pulled in without review.

The most common pattern OWASP flags is identity conflation: a builder connects an app to a database using their own admin credentials, and every end user then inherits that access level because the app has no separate identity layer. AI-assisted builders make this worse by removing the moment where a developer would normally stop and design an auth model.

Two other categories from OWASP's list show up often in AI-generated frontends specifically: vulnerable and untrusted components, when a generated app pulls in a package or dependency nobody on the team vetted, and security misconfiguration, when a generated scaffold ships a default admin route or debug endpoint that was never meant to reach production.

ToolWhat it generatesWhere it should sit in your workflow
v0Full Next.js/React app, real backend connections, PR-based Git syncPrototyping and internal tools with a required code review before merge
Figma MakeInteractive prototype from a design or prompt, editable codeDesign validation and stakeholder demos before an engineering build
Builder.ioVisual edits to sections of an existing, engineer-owned codebaseMarketing and content teams editing within guardrails engineering defines

Where to actually deploy each tool

The three tools solve different problems, and treating them as interchangeable "AI website builders" is where teams get the rollout wrong.

  • Early-stage validation: v0 or Figma Make to get a clickable prototype in front of a stakeholder or a handful of test users before committing engineering time
  • Design-to-build handoff: Figma Make to close the gap between a static design and a working prototype the design team can iterate on without waiting on engineering
  • Ongoing content operations: Builder.io (or a comparable visual CMS) for marketing pages that need frequent changes inside a codebase engineering still owns and reviews
  • Production commerce surfaces: none of these as the system of record — generate a starting point if useful, but merge the output into your actual codebase under normal review, not as a permanent external dependency

Enforcing the review gate instead of trusting it

Because v0 already routes changes through Git branches and pull requests, the enforcement point is a normal branch protection rule — require a human-approved review on any branch matching the tool's naming pattern, the same way a team would gate a dependency-bot PR.

# .github/branch-protection or equivalent CI config
# Require 1+ human approval on branches created by v0's Git sync
branch_pattern: "v0/*"
required_reviews: 1
required_checks:
  - lighthouse-ci
  - axe-accessibility-scan
  - design-system-lint

The specific checks matter less than having any at all. A design-system lint step catches duplicated components before merge; an automated accessibility scan catches the keyboard and labeling issues a visual review misses; Lighthouse catches the dependency bloat generated components sometimes ship with.

Brand and design-system drift is a real cost, not a style complaint

A generated component that's 90% aligned with your design system is worse than one that's obviously off-brand, because the 10% gap is the part a quick visual scan won't catch. Multiply that across dozens of AI-assisted merges and a design system erodes without any single change looking wrong on its own.

The fix is structural, not a training memo: point the tool at your actual component library and design tokens where the tool supports it, and treat "matches the design system" as a required review criterion, not a nice-to-have.

Who owns a component nobody on the team wrote

Code review, on-call rotation, and incident response all assume someone understands why a piece of code works the way it does. An AI-generated component merged without a human reading it closely breaks that assumption the first time it needs to be debugged at 2am.

The practical rule: whoever merges an AI-generated PR owns it exactly as if they'd written it themselves, including understanding the auth, data-fetching, and state logic well enough to modify it later. That ownership requirement is what actually keeps review effort honest — "I didn't really read it, the tool wrote it" isn't an acceptable answer during an incident.

A review checklist that treats AI-generated UI like any other PR

The fix for the review gap isn't banning these tools — it's applying the same gate to their output that a human-written PR already goes through.

  1. Run the generated component against your existing design system before merging — duplicated components are the most common AI-generation side effect
  2. Check keyboard navigation and screen reader labeling manually; generated markup frequently passes visually but fails on focus order or missing labels
  3. Run it through Lighthouse or an equivalent performance check — generated components sometimes ship unused dependencies or unoptimized images by default
  4. Review any database or API connection the tool wired up for the identity and authorization model, not just whether the query works
  5. Confirm licensing on any generated imagery, icon set, or third-party component the tool pulled in automatically
Treat AI-generated UI like a contractor's first draft: useful, fast, and not something you sign off on without checking the load-bearing details yourself.

What actually changes for a design or engineering team

The realistic shift isn't "designers write code now." It's that prototyping and first-draft implementation compress from days to minutes, and the time saved has to go somewhere — ideally into review depth, not into shipping faster with the same review effort spread thinner.

Teams that get value from this pair the speed with an unambiguous rule: nothing generated by v0, Figma Make, or a similar tool reaches production without passing the same review a hand-written PR would face. Teams that skip that step get the OWASP risk list instead of the productivity gain.

The teams seeing the most durable gains from these tools aren't the ones generating the most code fastest. They're the ones that treated the speed increase as a reason to invest more in their review tooling — design-system linting, accessibility scans, contract tests — not less.

FAQ

Can v0-generated code go straight to production?

Technically yes — it deploys to Vercel like any Next.js app — but it should go through the same PR review as hand-written code first, since v0 itself routes changes through pull requests rather than direct commits to main.

Is Figma Make a replacement for a frontend engineer?

No. It's built for turning a design or prompt into an interactive prototype inside Figma, useful for validation and stakeholder review before a real engineering build, not as the production implementation itself.

What's the biggest security risk with AI-generated low-code apps?

Identity conflation — a builder connects the app using their own credentials, so every end user inherits that access level because no separate auth model was designed in.

Does Builder.io replace our CMS?

It can serve as one, but its more common role is a visual editing layer over sections of a codebase your engineering team already owns, with structured data still available to your application through its API.

Do AI design tools introduce accessibility risk?

Yes, if the output isn't manually checked. Generated markup can render correctly while still failing keyboard navigation, focus order, or WCAG labeling requirements that a visual review won't catch.

How should a team decide between v0 and Figma Make?

Start from the design file: if you're validating a design a designer already built in Figma, use Figma Make; if you're prototyping from a text description with real backend logic, v0 is the better fit.

References

From the Destm engineering archive. For current work on this topic, start at Solutions or the blog.