Overview

In this class, you will learn practical techniques for controlling visual style in vibe coding workflows.

You will use moodboards or web references and iterative prompts to build, test, and refine a reusable DESIGN.md that keeps your UI consistent across generations.

Always remember: Your first draft is useless — keep iterating.

Why do the design of all the Vibe-Coded apps feel the same?

I frequently hear people commenting Vibe-coded digital products all look the same. Unfortunally, that is true. Here are some reasons:

  1. Design systems standardize and modulize UI elements. Most products are build based on the existing templates.
  2. Large Language Models are trained with existing designs.
  3. Vibe Coding tools are rely on the simliar frameworks and libraries such as tailwindcss, shadcn ui, etc.
  4. Most importantly, more and more people start to create websites and apps easily, but they didn't take efforts on creative styles and interactions.

Intro. to Design System

What is design system?

A design system is a shared rulebook for visual and interaction decisions in a product. It usually includes design tokens, reusable components, layout rules, and usage guidelines, so teams can build consistent interfaces faster.

What is the role of design systems in UI/UX design and frontend development?

Design systems connect design decisions and implementation decisions into one shared language. In UI/UX, they improve consistency, reduce design debt, and help teams deliver better usability across different screens and user flows. In frontend development, they speed up implementation through reusable components and tokens, while reducing bugs caused by one-off styling.

The key roles are:

  • Consistency: Keep visuals, interactions, and brand expression coherent across the product.
  • Efficiency: Reuse components instead of redesigning and recoding common patterns.
  • Collaboration: Give designers and developers a common vocabulary for faster decisions.
  • Scalability: Make it easier to grow from one page to many features without visual chaos.
  • Quality and accessibility: Standardize contrast, spacing, states, and interaction behavior.

Suggested references:

Overview of Shopify Polaris Design System

DESIGN.md: Styling Guidelines for AI Agents

What is a DESIGN.md?

DESIGN.md is the source-of-truth document for your product's visual language and interaction rules. Think of it as a practical instruction manual that both humans and AI agents can read before generating or editing UI.

In AI-assisted workflows, this file is critical because it reduces ambiguity in prompts. Instead of repeatedly describing your style in every request, you define it once in DESIGN.md and ask the agent to follow it.

Without this document, AI agents may produce inconsistent or off-brand UI elements.

What DESIGN.md carries
Source: Aakarshit Rajput on LinkedIn

How to Develop a DESIGN.md?

Treat DESIGN.md as a living document. Update it when design decisions change, and keep your generated code aligned with it.

DESIGN.md development process

Moodboard

Video: Introduction to Moodboard for UX Design

Video: Moodboard: Examples

NOTE: You will use this approach to create the DESIGN.md file for your course project.

Moodboard to DESIGN 1. Initial Draft

In next three section, you will learn how to develop your DESIGN.md file iteratively based on your moodboard. This process will help you create a clear and actionable design specification that guides your AI agent to generate consistent and high-quality UI.

Create the Moodboard

First, have your moodboard ready.

moodboard

Project Setup and First Prompt

Create a new project folder and start the first prompt with your moodboard. This could be a temperary folder. The purpose is to develop a DESIGN.md file.

design-md-v0-init

Slideshow: Six-Step Prompting Flow to generate a draft DESIGN.md file:

1 / 6
1. Analyze Mood Board
Provide your moodboard with the following prompt.
Analyze this mood board and extract reusable visual patterns.

Do not describe each image separately. Summarize system-level patterns:
- color palette tendencies
- typography style
- spacing density
- layout structure
- border radius / shape language
- shadow / elevation style
- imagery style
- overall mood and personality

Return the result as a clear design analysis, not marketing language.

When you finish, switch the model to "Auto" to save tokens.

design-md-v0-model-auto

On this step, your initial DESIGN.md is created. However, it is not ready to use yet.
Next step: Test and Iterate.

design-md-v0

Moodboard to Design 2. First Iteration

After creating the initial DESIGN.md file, we need to test it by generating some UI screens and reviewing the results. This will help us identify any gaps or issues in the design specification and refine it for better consistency and quality.

Prompt Reference:

Use DESIGN.md as the source of truth. Create a reservation page and follow the design system exactly.
Do not invent new colors, typography styles, border radii, or component patterns.
If a design decision is not defined in DESIGN.md, choose the simplest option that matches the system.

This will generate a test page with some css files based on the design specification. This is the testing of your DESIGN.md file. With you page, you can start to iterate on your design.

iteration-1-1-test-page-files

Slideshow: My example of iteration process on design.

You can also view the full iteration process in this video: https://youtu.be/Oq4uc3VoqCA

Updated DESIGN.md file. Now it's the time to test this. Move to the next section.

design-md-v1

Moodboard to Design 3. The Second Iteration

Prepare for the second iteration.

iteration-2-1-init

Similar to the first iteration, you will write the initial prompt for testing file generation. You need to make some adjustments based on the first iteration. After this, you will have the second testing page generated.

iteration-2-2-starting-prompt

Slideshow: My example of iteration process on design.

You can also view the full iteration process in this video: https://youtu.be/Oq4uc3VoqCA

After another round of iteration, which includes 8 promtings, I have my final DESIGN.md file. Next, I will use it in the implementation.

iteration-2-final-design-file

AI Agent Skills

NOTE: You will use this approach to create the DESIGN.md file for your course project.

Skill: more than a reusable prompt.

What are included in a skill?

Pre-defined Prompts

Reusable instructions that guide the agent's behavior for a specific task or workflow.

Automated Scripts

Code that the agent can execute to perform actions like file manipulation, running builds, or processing data.

Reference Documents

Files the agent reads for context, such as design guidelines, coding standards, or project notes.

Tool / API Integrations

Connections to external services (search, databases, browsers) that let the agent act beyond generating text.

Memory & Context

Persistent information the agent can read and write across sessions, like prior decisions or project state.

What tools provide the capability of SKILL?

Any major AI tools: Cursor, Codex, VS Code, Claude Code...

What tasks can agent do with skills?

A wide range of tasks - programming, research, data analysis, automation, and more - especially when combined with the right tools and integrations.

Video: Introduction to AI Agent Skills

Create a Skill

In the following video, I will create a skill called "inspire-design-system." This skill will help me generate a DESIGN.md file based on the refernece images and web link I provided. The creating of the skill is not a one-prompt task. After these steps, you need to keep testing and updating it before it becomes truly useful.

Reference Websites

Websites you can find reference for inspiration:

Extra Tutorials

Video Demo: Extract styles from live website

Copyright concerns and mitigation

When using visual references from existing websites, avoid directly copying unique branded assets, proprietary illustrations, exact layout compositions, or trademarked elements. Instead, extract reusable style principles such as spacing rhythm, typography hierarchy, color balance, and component behavior, then reinterpret them in your own design system.

Mitigation checklist:

  • Use references for analysis, not one-to-one replication.
  • Replace logos, icons, photos, and brand names with your own assets.
  • Document your transformation decisions in DESIGN.md.
  • Run a final review to ensure the output expresses a distinct product identity.

Video Demo: Two methods to send an HTML page to Figma

What to Do This Week

⚠ NOTE

This week includes a mini project and the continue of the course project.

Mini Project - Week 4

  • Select one of your previous mini project for this week's topic.
  • Select 1 - 2 existing digital design for your style reference.
  • Based on that, generate a DESIGN.md file following this process.
  • Copy the DESIGN.md file to the folder of your mini project.
  • Start the project with the DESIGN.md file complete the development with Cursor, VS Code, ClaudeCode, or Codex.
  • Publish the final product to Netlify or similar.
  • How to Submit: Since the textarea in Canvas assignments is not good for image submission, please submit a word or PDF file, or a link of FigJam Board, with following:
    1. Text of your final DESIGN.md file.
    2. 2 - 3 screenshot of your work progress showing your major prompts and outputs.
    3. 1 - 2 prompts for project initialization that integrates DESIGN.md.
    4. 5 - 8 prompts (or screenshots) that you update or fine-tune the styles of the project.
    5. Please share some prompts that don't work well, challenges you faced. Then explain what you see and how you fixed it. You can use screenshots.
    6. Finally, share the link of your published project.
  • The grading is given based on how much efforts you put on the project. You should consider enough iterations on the product such as layout, interactions, color, animations, graphics, etc. A small functional web app typically need about 20 - 50 prompts.
  • Submit your work here: https://canvas.iastate.edu/courses/127779/assignments/2814320

Course Project - Week 4

Continue working on your course project in the Figma Design Project file.
  • Create a new page in your existing Figma course project file name it as "Week 4. Desgin Systems."
  • Create a moodboard for the project in the new page you created.
  • Develop a DESIGN.md file following the steps in "Moodboard to Design 1 - 3."
  • Send the design final testing pages to this week's page in your Figma Design Project.
  • Include at least 12 screenshots for the prompts you used in your design iterations.
  • Paste the full text of your final DESIGN.md in your project page.
  • Here is how your Figma page should look like for the course project this week: https://www.figma.com/design/rLaWHaa0epwacPpyEPpQyN/YourName_ARTGR4840-5840_2026?node-id=1-3
  • You must show enough efforts on your work. You can ask for deadline extension if you need more time.