DESIGNER × CODE
사이드프로젝트 생존기 — #3
AI Generatedvibe-codingdesign-to-codefigmatutorialside-projectai-toolsreact

Figma → 실제 컴포넌트까지! 디자이너를 위한 실전 코드 변환 워크플로우

기획과 초기 세팅이 끝났다면 이제 진짜 시작이에요. Figma 디자인을 AI와 함께 실제 동작하는 컴포넌트로 변환하는 실전 워크플로우를 공유해요.

2026. 2. 27.조회 1127
Share

드디어 디자인을 코드로 만들 시간! 🎨→💻

지난 포스트에서 Next.js 초기 세팅까지 마쳤다면, 이제 본격적으로 Figma 디자인을 실제 동작하는 컴포넌트로 변환해볼 차례예요. "디자이너인 내가 정말 코드를 짤 수 있을까?"라는 걱정은 잠시 접어두세요. AI와 함께라면 생각보다 훨씬 쉽답니다!

디자인 → 코드 변환 워크플로우

1단계: Figma 디자인 준비하기

코드로 변환하기 전에 Figma 디자인을 AI가 이해하기 쉽게 정리하는 게 중요해요.

✅ 체크리스트:

  • 컴포넌트별로 명확하게 레이어 분리
  • 의미있는 레이어명 작성 (Button, Header, Card 등)
  • 반복되는 요소들은 컴포넌트화
  • 상태별 디자인 준비 (hover, active, disabled 등)

꿀팁: Figma의 Dev Mode를 활용하면 CSS 속성을 미리 확인할 수 있어서 AI에게 더 정확한 설명을 할 수 있어요.

2단계: 스크린샷 + 상세 설명으로 AI와 소통하기

이제 Cursor나 Claude에게 디자인을 설명해볼 차례예요. 단순히 "이 디자인을 코드로 만들어줘"보다는 구체적으로 요청하는 게 좋아요.

효과적인 프롬프트 예시:

첨부한 Figma 디자인을 React 컴포넌트로 만들어주세요.

요구사항:
- Tailwind CSS 사용
- 반응형 디자인 (모바일/데스크톱)
- hover 효과 포함
- TypeScript로 작성

추가 정보:
- 메인 색상: #3B82F6
- 폰트: Pretendard
- 버튼 클릭 시 onClick 이벤트 처리 필요

3단계: 컴포넌트별로 나누어서 작업하기

한 번에 모든 페이지를 만들려고 하지 말고, 작은 컴포넌트부터 시작해보세요.

추천 순서:

  1. 기본 UI 컴포넌트 (Button, Input, Card)
  2. 레이아웃 컴포넌트 (Header, Footer, Sidebar)
  3. 페이지별 컴포넌트 (Hero Section, Features)
  4. 전체 페이지 조합
// 예시: Button 컴포넌트
interface ButtonProps {
  children: React.ReactNode;
  variant?: 'primary' | 'secondary';
  size?: 'sm' | 'md' | 'lg';
  onClick?: () => void;
}

export default function Button({ 
  children, 
  variant = 'primary', 
  size = 'md',
  onClick 
}: ButtonProps) {
  return (
    <button
      onClick={onClick}
      className={`
        rounded-lg font-medium transition-all
        ${variant === 'primary' ? 'bg-blue-500 text-white hover:bg-blue-600' : 'bg-gray-200 text-gray-700 hover:bg-gray-300'}
        ${size === 'sm' ? 'px-3 py-1.5 text-sm' : size === 'lg' ? 'px-6 py-3 text-lg' : 'px-4 py-2'}
      `}
    >
      {children}
    </button>
  );
}

AI와 함께 작업할 때 꿀팁들 🍯

1. 반복 개선하기

첫 번째 결과가 완벽하지 않아도 괜찮아요! AI에게 구체적인 피드백을 주면서 점점 개선해나가세요.

"버튼 모서리를 더 둥글게 하고, hover 시 그림자 효과를 추가해주세요."
"모바일에서 폰트 크기가 너무 작아요. responsive 디자인을 개선해주세요."

2. CSS 속성 직접 전달하기

Figma에서 복사한 CSS를 AI에게 바로 전달하면 더 정확한 결과를 얻을 수 있어요.

"이 CSS 속성을 Tailwind로 변환해서 적용해주세요:
font-family: Pretendard;
font-size: 16px;
font-weight: 500;
line-height: 24px;
color: #374151;"

3. 실제 데이터로 테스트하기

더미 텍스트만으로는 한계가 있어요. 실제 사용할 데이터를 넣어서 테스트해보세요.

// 더미 데이터 예시
const testimonials = [
  {
    name: "김디자이너",
    role: "UI/UX Designer",
    content: "바이브 코딩으로 드디어 내 아이디어를 직접 구현할 수 있게 됐어요!",
    avatar: "/images/avatar1.jpg"
  },
  // ...
];

자주 마주치는 문제들과 해결법 💡

문제 1: "디자인과 결과물이 달라요"

해결법: 스크린샷을 더 자세히 찍어서 전달하고, 특정 요소의 정확한 크기나 간격을 px 단위로 명시해보세요.

문제 2: "반응형이 깨져요"

해결법: 모바일, 태블릿, 데스크톱 각각의 디자인을 따로 보여주고 브레이크포인트를 명확히 설명해주세요.

문제 3: "애니메이션이 부자연스러워요"

해결법: 원하는 애니메이션을 참고 사이트와 함께 설명하거나, CSS transition 속성을 구체적으로 요청해보세요.

다음 단계 준비하기

컴포넌트 변환이 완료되면 이제 진짜 흥미로운 부분이 시작돼요!

  • 🔗 API 연결: 실제 데이터 가져오기
  • 📱 인터랙션 추가: 클릭, 스크롤 이벤트 처리
  • 🎯 상태 관리: 사용자 액션에 따른 UI 변화
  • 🚀 배포 준비: 실제 서비스로 만들기

다음 포스트에서는 정적인 컴포넌트에 생명을 불어넣는 인터랙션과 상태 관리에 대해 다뤄볼 예정이에요.

마무리

디자인을 코드로 변환하는 과정이 처음엔 막막하게 느껴질 수 있지만, AI와 함께라면 정말 가능해요! 완벽하지 않아도 괜찮으니까 일단 시작해보세요. 작은 컴포넌트 하나씩 완성해나가다 보면 어느새 멋진 웹사이트가 만들어져 있을 거예요.

혹시 작업하면서 막히는 부분이 있다면 Designer × Code 커뮤니티에 언제든 질문 남겨주세요. 함께 성장하는 게 바이브 코딩의 진짜 재미니까요! 🚀