Design

Rapid prototyping UI in code with AI assistants to stress-test designs early

AI-assisted coding tools are used to scaffold real UI components, working feature prototypes, and rough frontend builds from briefs, design-system context, or wireframes so designers can stress-test layouts, states, gestures, interaction logic, reusable component behavior, and implementation direction before handoff.

Why the human is still essential here

AI speeds up component generation and prototyping, but the designer must evaluate usability, visual hierarchy, spacing, interaction quality, testing approach, and fidelity to the original problem. Human taste and product judgment determine what is actually ready to share, hand off, or ship.

How people use this

React screen scaffolding

AI generates a first-pass React interface from a written screen concept so the designer can assess structure with real components instead of static mockups.

Cursor / v0

Design-system-aware UI prototype

AI generates a rough React interface using existing tokens, components, and layout patterns so the prototype stays close to the real product.

v0 / Cursor

State and variant generation

AI helps build loading, empty, error, and high-density states in code so layout and usability issues appear before engineering handoff.

Cursor / GitHub Copilot

Need Help Implementing AI in Your Organization?

I help companies navigate AI adoption -- from strategy to production. Whether you are building your first LLM-powered feature or scaling an agentic system, I can help you get it right.

LLM Orchestration

Design and build LLM-powered products and agentic systems

AI Strategy

Go from idea to production with a clear implementation roadmap

Compliance & Safety

Build AI with human-in-the-loop in regulated environments

Related Prompts (4)

Latest community stories (6)

How-To
X

How I Design with AI.

As an engineer who is not a designer and hates slop.

Every landing page, app and tui look the same. They're slop and most of them are incomprehensible.


Here's how I de-slop my product design.


1. Always consider the whole.


The design process is roughly 3 steps:


Lay out all the constraints you are designing for.


Consider an array of solutions that satisfy those constraints.


If you realize a constraint must be added or one can be removed, go to #1.


This is from Notes on the Synthesis of Form by Christopher Alexander. It's a pleasingly rigorous exploration of the design process.


Constraints can take many forms. They could be font and sizing rules, workflows you must support or business-logic states. The important thing is that you decide the constraints.


The common problem is skipping Step 3 and playing design wackamole.


A user gets confused and it's natural to jump into solution mode. Our team gets nerd sniped by this all the time. Especially with the left sidebar because it packs so much information into a small space. The temptation is to spot-fix but that road leads to ruin.


The problem from skipping laying out the constraints is that you get a disjoint patchwork that randomly prioritizes some interactions over others. AI exacerbates the draw to wackamole design. It encourages prompting "Make X more prominent" or "Add an affordance to do Y". In the end, more users are confused.


When feedback arrives, evaluate if it changes your design constraints before jumping to solutions. The way we handle this is keeping a document tracking papercuts and annoyances. We move fast on obvious fixes but track the minor ones so that when it comes time to redesign, we have a collection to address cohesively. The important thing is that we avoid being overly reactive and creating more mess.


2. Remove stuff.


Agents love to add stuff. Your job is to remove the unnecessary parts.


This should be very familiar because agents do exactly the same thing in code and plans. They love belt-and-suspenders, wrapping an extra try-catch or re-implementing the same utility over and over.


In UI designs, agents do the same thing. They love adding extra copy, lines and icons. You end up with real designs that look better than most engineers would create by hand but are actually kind of bad.


An easy step is just look at every element of a design and for every element ask "Do I actually need that?"


3. Iterate in a design tool.


You should not be iterating on design in the product. Use a tool that gives you fine control and lets you iterate quickly with minimal extra context.


Prototype gravity is the silent killer. This is when you have the agent build the first version in your code base then it feels easier to just refine that instead of exploring other options. Designing in your real codebase also forces the agent to build a version that grafts onto your real


Figma is still the GOAT and the AI integration is getting better every week. Cursor Design Mode, Claude Design, a bunch of new startups and even HTML prototypes are great too.


Just please use a tool meant for design and have AI generate 3-4 variants of everything.


4. Use components and libraries.


This one is probably obvious to most engineers but it's very important so I'll say it quickly.


Separate views and logic. Create reusable components.


It's not hard and it pays dividends. Your app will be visually cohesive rather than a patchwork of re-implemented buttons.


To do this at Ref, we maintain a /showcase page. We have agents build the UI component there first to play with them before connecting to the main app.


5. Use preview deploys.


The best way to evaluate a design is with real data. Preview deploys allow you to try the new designs with your real backend.


It's important to remember, there will always be some polish and re-work necessary. Even if the agent builds exactly what you told it, you may still hold it in your hands with real data and realize it's not right.


For a large feature that involves frontend and backend, preview deploys can be tricky. At Ref we solve this by separating frontend and backend PRs. Backend changes can be verified with unit and integration tests. Frontend changes require human verification and preview deploys make it easy to share a link.


6. Steal stuff.


Most UX problems have been solved already and you should be taking pieces and putting them together. Spend some time looking at products solving a similar problems or communicating similar ideas.


Every cracked designer I've worked with starts every single project by pulling together a bunch of screenshots. You should do the same, it makes amazing context to send to your agent.


7. Explore your taste.


This is the fun part!


Taste is reflecting on your own reaction to something. And my apologies to Kyle Chayka but reflecting on one's experience is not proprietary to parties in Brooklyn lofts. It's necessary to create and not create slop.


Product engineers are excellent at identifying when a design doesn't work but have a hard time knowing how to fix it. What engineers lack is the solution library from experience to pull from. Building that just takes reps trying things and reflecting.


It's fun to play and explore. But it can also feel pretty brutal because its a deluge of critique until something is good enough.


At Ref we don't have a full-time designer so we resort to an agricultural threshing approach to refining our taste. We throw a design in the middle and beat it with sticks until we feel good about it.


That's all I've got. GLHF.

MD
Matt DaileyFounder at Ref.
Aug 26, 2026
Personal Story
Medium

From Pixels to Prompts: My Journey from UX Designer to AI Product Designer

For years, my job had a shape I could describe in one breath: understand the user, sketch the flow, wireframe the screens, polish the pixels, hand off to engineering. It was a craft built on control. I decided where the button went. I decided what happened when you tapped it. Every state was mine to design.

Then AI started showing up in the products I was designing for, not as a feature bolted onto a screen, but as the thing generating the screen’s content, sometimes even deciding what the screen should be in the first place. And I noticed something uncomfortable: my usual toolkit didn’t quite fit anymore.


A few shifts have already started rewiring how I approach design work:


From screens to systems. I used to think in flows and states. Now I’m learning to think in inputs, prompts, guardrails, and fallback behaviors, designing for a system that has a personality and a failure mode, not just a layout.


The biggest unlock, though, has been learning to actually build, not just design on top of what engineers hand me. Through the bootcamp, I got hands-on with creating AI agents for the first time, figuring out how to give a model a role, a set of tools, and boundaries for what it should and shouldn’t do on its own. It’s a strange feeling, designing behavior instead of designing a screen.


I also started using Cursor and Claude Code, and that alone shifted something in how I see myself.


I’m not a developer, and I’m still not pretending to be one, but being able to prototype an idea in code instead of just Figma to see an actual working flow instead of a static mockup has changed how fast I can test whether an idea is even worth pursuing.

CG
Chitra GohadUX Designer
Jul 23, 2026
Personal Story
LinkedIn

Hey designers! Check out my fav use case for Claude ⬇️

Hey designers! Check out my fav use case for Claude ⬇️

Remember prototyping interactions in Figma? Connecting frame after frame until the canvas looked like a freaking mess, duplicating a whole screen just to toggle one switch, building 10 component variants to fake a single interaction... and then changing one small thing and having to update all of it by hand.... Oh and my personal fav - when you created an interaction that was not technically feasible in code 😅


So...whenever I think about UX I think about gestures, interactions, how a certain moment feels... the tap, the swipe, the drag, the haptic feedbacks..


Getting Claude to help you explore these interactions is one of my favorite use cases. You build the moment, put it in front of real users, and find the solution that actually feels right instead of being limited because of time and proper feedback...


You can start with simple HTML artifacts in Claude. Good enough to get the feeling of it in your hands.


You can also push them live with Netlify (drag and drop, no Claude artifact frame around it) when you want to send a clean live link to test with real people.


Then when you need more complex interactions, or you're ready to ship, you move into Claude Code...


🔗If you haven't grabbed my prototype skill yet here you go - I keep trying to push it to see how far it can go!

https://lnkd.in/eeRzyJpa


PS: we go deep into AI prototyping in our design sprints.


The next one's June 22 and we're partnering with a big AI ed-tech company on their iOS product, so you'll be exploring these exact kinds of interactions on something real!


Half the spots are already taken, link's in the comments if you want in 👇🏻

🔗 yummy-labs.com

CR
Carmen RinconProduct Designer
Jun 1, 2026
Personal Story
X

How i use AI in my workflow

Before: Figma -> Webflow/Framer. Now: Ideate with Claude -> Fine-tune in Figma -> Take back to code (all 50x faster). It's genuinely insane!

AP
Abdussalam PopoolaDesign Engineer
Jun 3, 2026
How-To
LinkedIn

I shipped 50+ screens as a solo design engineer in 3 months.

I shipped 50+ screens as a solo design engineer in 3 months. Here's the exact workflow I use every single day.

Most designers treat AI like a search engine. Ask it a question, get an answer, go back to Figma.


That's not how I use it. AI is my starting point, not my assistant.


Here's my actual daily workflow, step by step:


Step 1: Problem breakdown (Claude Code, 15 min)

Before I open any design tool, I paste the brief into Claude Code and have a conversation. Not "design me a dashboard." Instead:


"Here's a hiring pipeline with 9 stages. A recruiter needs to move 40+ candidates through these stages daily. What are the information hierarchy challenges? What are the edge cases when 3 stages have 20+ candidates each?"


This forces you to think about the real problem before you start pushing pixels. 80% of bad designs happen because the designer skipped this step.


Step 2: Explore in code, not Figma (Cursor, 1-2 hrs)

I scaffold the actual React component in Cursor. Not a mockup. Real code with real data.


Why? Because a Figma mockup with 5 cards looks great. A real component with 47 cards, 3 empty states, and a loading skeleton tells you the truth about your design.


I catch layout problems in 20 minutes that would take 2 days to discover after handoff.


Step 3: Refine the craft (Figma + Code, 1 hr)

This is where I apply the judgment AI can't give you. Does the spacing create the right visual rhythm? Does the hierarchy guide the eye correctly? Does the interaction feel right, or just function correctly?


AI is fast. But it has no taste. This step is where good design becomes great design.


Step 4: Push a PR (30 min)

What I designed IS what ships. Zero handoff gap. No "the developer interpreted it differently." The designer and the engineer are the same person.


Why this matters for you even if you don't code:


You can still use Steps 1 and 3.

Step 1 works for any designer. Paste your brief into Claude or ChatGPT before opening Figma. Ask it to find the edge cases, the conflicts, the scenarios your PM didn't mention. You'll start every project with a better understanding of the problem.


Step 3 is a mindset. AI can generate layouts. It can't tell you why one layout feels trustworthy and another feels cheap. That judgment is your real skill. Protect it.


The designers who will thrive in the next 2 years aren't the ones who avoid AI. They're the ones who use AI for speed and apply human judgment for quality.

Speed is a tool. Taste is a career.

MS
Muhammad ShakirDesign Engineer at Pavago
May 8, 2026
Personal Story
Medium

How I use AI to partner on design problems

A design workflow where AI holds the context, I do the thinking: from brainstorm to prototype

SS
Suleiman ShakirDesigner, developer & artist | Design Systems @Amazon
May 11, 2026