AI tools promise to close the gap between design and implementation, but how close do they actually get? I decided to put three popular approaches to the test with the same Figma design.
The results revealed not just differences in output quality, but fundamentally different philosophies about how design-to-code translation should work. What I found challenges some common assumptions about pixel-perfect implementation and suggests a more nuanced view of what “perfectly” really means.
TL;DR
- Kombai achieved the highest design fidelity at 75–80% with Material UI components and real image handling
- Codex CLI excelled at semantic HTML and accessibility with proper aria attributes and document structure
- Claude Code delivered thoughtful component architecture with 13 independent, well-organized components
- Figma MCP enables AI agents to read design structure directly, while specialized tools like Kombai optimize specifically for frontend generation The Current State of AI-Driven Design Implementation
AI tools have become remarkably capable at backend implementation, yet frontend development presents unique challenges that remain partially unsolved. After working extensively with various AI coding assistants, I’ve identified four persistent challenges in translating designs to code.
Reproduction accuracy stands as the most visible issue. Capturing design intent in code requires understanding not just what elements appear on screen, but why they’re arranged that way. AI-generated interfaces often carry a certain recognizable aesthetic that experienced designers immediately spot.
Implementation gaps
Implementation gaps frequently surface around responsive design. Unless explicitly instructed, AI tools tend to create fixed layouts that break on different screen sizes. This happens even when the underlying framework fully supports responsive patterns.
Knowledge currency
Knowledge currency affects output quality in ways that aren’t always obvious. The latest libraries and frameworks evolve faster than training data, leading to outdated patterns or missed opportunities to use newer, better approaches.
Maintainability concerns
Maintainability concerns emerge most clearly in component design. Consistent, reusable component structures require architectural thinking that goes beyond making individual screens look correct. Without careful prompting, generated code often mixes abstraction levels or duplicates logic across components.
Even with experienced designers and engineers involved, achieving satisfying UI/UX completeness through AI assistance alone remains difficult. The common critique that outputs aren’t “pixel-perfect” misses a more nuanced point: pixel-perfect may not always be the goal, but intentional fidelity to design decisions absolutely is.
The most promising current approach for faithful design reproduction involves using Figma as the source of truth and generating code from that structured design data. This works because Figma files contain component hierarchies and relationships that remain invisible in screenshots or mockups. AI tools can parse this structure in ways they simply cannot with image-based inputs.
Methods for Figma to Code
Understanding Figma MCP
Figma MCP represents a bridge technology that allows AI agents to directly read and interpret Figma design data. Rather than describing a design through images or specifications, MCP enables the AI to access the actual design file structure, including layers, components, constraints, and properties.
Setting up Figma MCP requires Figma Desktop, which provides a local MCP server that AI tools can connect to. The process starts in Figma Desktop’s preferences, where enabling the “Enable desktop MCP server” option activates the local server on your machine.
Once the Figma side is configured, AI CLI tools need configuration to connect to that server. The exact format varies by tool, but the principle remains consistent: point the AI tool to the local MCP endpoint that Figma Desktop provides.
For Claude Code, configuration lives in ~/.claude.json
:
{
"mcpServers": {
"figma-mcp": {
"type": "http",
"url": "http://127.0.0.1:3845/mcp"
}
}
}
For Codex CLI, configuration lives in ~/.codex/config.toml
:
[mcp_servers.figma]
command = "npx"
args = ["-y", "mcp-remote", "http://127.0.0.1:3845/mcp" ]
The key advantage of MCP over image-based approaches becomes clear when the AI needs to understand component relationships. A button nested inside a card component within a layout grid carries structural meaning that images alone cannot convey. MCP exposes this hierarchy directly.
Specialized Frontend AI Tools
While Figma MCP enables general-purpose AI tools to work with design files, another category of tools focuses specifically on frontend code generation. Several options exist in this space, including:
- Locofy.ai
- Anima
- Builder.io
- Kombai.
Kombai caught my attention for its distinct approach to the problem. Developed by an Indian startup, Kombai launched officially in August 2025 after gaining significant traction on Product Hunt. The tool’s architecture makes several opinionated choices about how design-to-code translation should work.
Rather than operating within the command line, Kombai functions as an IDE extension available for VSCode, Cursor, Windsurf, and Trae. This integration allows Kombai to analyze entire project contexts, understanding existing code patterns, dependencies, and architectural decisions.
The tool’s workflow differs notably from MCP-based approaches. Kombai executes code changes in a virtual environment first, allowing developers to review and test before accepting changes into their local codebase. This preview-then-accept pattern reduces the risk of breaking existing functionality.
Technology stack configuration represents another distinguishing feature. Developers can specify their preferred frameworks and libraries upfront, and Kombai generates code matching those choices rather than defaulting to a single tech stack.
Project-wide analysis sets Kombai apart from simpler screenshot-to-code tools. By understanding the broader codebase, Kombai can generate components that match existing patterns and integrate with established architecture rather than creating isolated, inconsistent code.
Comparing 3 AI tools
To compare these approaches fairly, I used an identical Figma design across all three tools. The design came from Figma Community: a portfolio website template with multiple sections, typography hierarchy, images, and interactive elements. This provided enough complexity to reveal meaningful differences between tools.
Figma template: https://www.figma.com/community/file/1170206889562959306
The testing methodology kept variables controlled. Each tool received the same input: a Figma design URL pointing to a specific frame. The prompt remained consistent across all tests:
FIGMA_DESIGN_URL Implement this Figma design
Obtaining the Figma URL requires using Figma’s “Copy/Paste as” menu and selecting “Copy link to selection.” This generates a URL that references a specific frame or component within the design file, which the AI tools can then retrieve through Figma’s API or MCP connection.
The evaluation focused on several dimensions: design fidelity measured visually against the original, component architecture examining how code was structured, responsive behavior testing across viewport sizes, and implementation quality looking at semantic HTML, accessibility, and maintainability patterns.
Claude Code with Figma MCP
Claude Code, powered by Sonnet 4.5, generated an implementation centered around Next.js 14 with App Router. The output consisted of 13 independent components, each representing a distinct section or functional element of the design.
The technical stack reflected modern React patterns:
- Next.js 14 with App Router for routing and server components
- TailwindCSS 3.4 for styling with utility classes
- TypeScript for type safety and developer experience
Component organization showed thoughtful separation of concerns. Each major section of the portfolio received its own component file: Hero, About, Projects, Skills, Contact, and so on. This modularity would make future maintenance and updates more manageable.
Design fidelity reached approximately 65–70%, with particular success in replicating gradient backgrounds and blur effects. These subtle visual details often get lost in simpler implementations, so seeing them preserved indicated Claude’s attention to the complete visual hierarchy.
Typography implementation captured the design’s intent reasonably well. Heading sizes, font weights, and text spacing matched the Figma specifications closely, though some fine-tuning of line heights would improve the final polish.
The most significant limitation appeared in responsive design. While the implementation used some responsive patterns, several components relied on fixed pixel values that broke layouts on smaller screens. This partially responsive approach suggests the AI interpreted the desktop design literally rather than inferring adaptive behavior.
Image handling defaulted to placeholders, requiring manual replacement with actual assets. This makes sense given the AI cannot access project-specific images, but it does add a post-generation step to the workflow.
Overall, Claude Code with Figma MCP delivered a solid foundation that would require moderate refinement for production use. The component architecture particularly stood out as a strength, providing good starting structure for continued development.
Codex CLI with Figma MCP
Codex CLI took a notably different architectural approach, generating both Next.js components and pure HTML files. This hybrid strategy reflected an interesting interpretation of how to structure the implementation.
The technical stack combined modern frameworks with traditional web approaches:
- Next.js 14 with App Router serving as the primary framework
- Custom CSS using BEM-style naming conventions rather than utility classes
- TypeScript for the React components
- Semantic HTML with proper document structure in pure HTML sections
Semantic HTML usage stood out as the implementation’s strongest characteristic. The code extensively used appropriate HTML5 elements: <dl>\
, <dt>\
, and <dd>\
tags for definition lists, <article>\
for content sections, <nav>\
for navigation, and proper heading hierarchy throughout. This attention to document semantics improves accessibility and SEO significantly.
Accessibility received explicit attention through aria attributes. Interactive elements included aria-label\
properties, navigation sections contained aria-current\
indicators, and the overall structure supported screen reader navigation effectively.
Responsive design implementation outperformed the Claude Code version. The CSS included media queries at appropriate breakpoints, and layouts adapted reasonably well across device sizes. This suggested Codex either inferred responsive requirements or defaulted to responsive patterns.
Design fidelity measured around 70–75%, slightly higher than Claude Code’s output. The combination of semantic structure and careful CSS resulted in an implementation that captured both visual appearance and underlying document meaning.
The mixed architecture of React components plus standalone HTML felt somewhat inconsistent. In a real project, consolidating to a single approach would likely improve maintainability. However, the semantic HTML quality demonstrated that Codex CLI understands document structure at a deeper level than purely presentational frameworks might suggest.
Image placeholders appeared here as well, maintaining consistency with the Claude Code behavior. This remains an unavoidable limitation when AI tools cannot access actual project assets.
Kombai
Kombai’s implementation differed fundamentally from the MCP-based approaches, reflecting its specialization in frontend generation. The output leveraged Material UI extensively, using that component library’s established patterns throughout.
The technical stack centered on React with specific tooling choices:
- React 18 with Vite for fast development and optimized builds
- Material UI (MUI) version 5 providing comprehensive component primitives
- TypeScript for type safety
- Emotion for CSS-in-JS styling integrated with MUI’s theming
Design fidelity reached 75–80%, the highest among the three tools tested. This superior reproduction quality came partly from MUI’s polished components but also from Kombai’s optimization specifically for this task. Visual details like spacing, typography, and color matched the Figma design more precisely than either MCP-based approach.
Most strikingly, Kombai included actual profile images from the Figma file rather than placeholders. This asset handling demonstrated deeper integration with Figma’s resources and reduced post-generation work significantly.
Responsive implementation used MUI’s breakpoint system throughout. This declarative approach to responsive design resulted in layouts that adapted smoothly across viewport sizes. The code explicitly defined behavior at different breakpoints using MUI’s sx\
prop and theme breakpoint utilities. Component organization followed a more functional pattern than the MCP approaches. Rather than breaking the design into 13 small components, Kombai created 9 larger sections plus shared utility components. This reflected a different architectural philosophy focused on page sections rather than granular component decomposition.
The primary tradeoff came from Material UI dependency. Projects already using MUI would integrate this code seamlessly, but teams using other design systems or preferring unstyled components would face significant adaptation work. The implementation locked in not just component structure but an entire ecosystem of styling and theming.
Despite this constraint, Kombai’s output required less refinement to reach production quality. The combination of high visual fidelity, proper responsive design, and working asset integration meant fewer gaps to fill after generation.
3 AI tools analysis
Examining the three implementations side by side reveals distinct strengths and appropriate use cases for each approach.
Claude Code’s strength lies in component architecture thinking. The 13-component breakdown creates a maintainable structure that teams can extend incrementally. This matters more as projects grow and multiple developers contribute to the codebase. Codex CLI distinguished itself through semantic HTML and accessibility focus. Projects where SEO, screen reader support, or standards compliance are priorities would benefit most from this approach. The attention to document structure suggests a deeper understanding of web fundamentals. Kombai optimized for visual fidelity and development speed. Getting 75–80% reproduction accuracy reduces designer feedback cycles significantly. For projects using Material UI or willing to adopt it, Kombai delivers the most complete starting point.
Technology stack preferences heavily influence which tool fits best. Teams standardized on TailwindCSS would prefer Claude Code’s output. Projects prioritizing semantic HTML and custom CSS would lean toward Codex CLI. Material UI shops would find Kombai’s code immediately usable.
The responsive design gap in Claude Code’s output represents a correctable limitation. Adding appropriate responsive patterns to the generated code requires work but builds on a solid component foundation. In contrast, rearchitecting Kombai’s code away from Material UI would require more fundamental changes.
Key Takeaways and Practical Implications
This testing revealed that “faithful implementation” means different things depending on what you value. Pure visual matching, semantic structure, component architecture, and technology alignment all represent valid but distinct goals.
Current AI tools achieve 65–80% design fidelity without human intervention. This falls short of pixel-perfect reproduction but provides substantial value as a starting point. The remaining 20–35% typically involves refinement rather than fundamental rework. Framework and library consistency matters more than many developers initially expect. Generated code must fit into existing project structure, dependencies, and patterns. A beautiful standalone implementation that doesn’t match your tech stack creates integration work that reduces the time savings.
Engineer evaluation and adjustment remains necessary at this stage of AI capability. Reviewing generated code for responsive behavior, accessibility, semantic correctness, and architectural fit represents unavoidable steps. Treating AI output as a first draft rather than final code sets appropriate expectations.
The specialization versus generalization tradeoff manifests clearly in these results. Kombai’s frontend-specific optimization produces better immediate output for its narrow domain. Claude Code and Codex CLI offer more flexibility but require better prompting to achieve similar quality.
For simple implementations and prototypes, current tools deliver sufficient quality for many use cases. Moving from design to working demo in minutes rather than hours changes project workflows substantially. The draft generated becomes a conversation starter that designers and engineers refine collaboratively.
Follow me on X
I also post on X (Twitter) about development tools, AI experiments, and frontend techniques:
References
Claude Code: https://claude.ai/code
Codex CLI: https://github.com/openai/codex-cli
Kombai: https://kombai.com/
Figma Community Portfolio Design: https://www.figma.com/community/file/1170206889562959306
Top comments (0)