AI 노코드 툴로 포트폴리오 사이트 만들기: v0 vs Lovable 비교 분석

AI 노코드 툴로 포트폴리오 사이트 만들기: v0 vs Lovable 비교 분석

안녕하세요! 16기 바이브 디버깅 스터디에 참여하게 된 Jinmin입니다.
이번에 AI 노코드 툴인 v0와 Lovable을 사용해 개인 포트폴리오 사이트를 제작해봤습니다.
두 도구의 특성과 장단점을 직접 경험하며 알게 된 점들을 여러분과 공유하고자 합니다.

소개

시도하고자 했던 것과 그 이유

최근 AI 기반 개발 도구들이 빠르게 발전하면서, 이러한 도구들이 실제 프로젝트에 얼마나 효율적으로 활용될 수 있을지 궁금했습니다. 기존에 Cursor를 이용해서 프론트엔드 작업을 진행했지만, 프로그래밍 언어와 UI,UX에 대한 전반적인 맥락을 잘 이해하고 프롬프트를 작성해야 작업이 잘 진행되었습니다. 이번에 바이브 디버깅 스터디를 진행면서 AI 노코드 툴로 얼마나 빠르고 효과적으로 구현할 수 있을지 테스트해보고 싶었습니다.

두 가지 도구를 선택한 이유는 각각의 접근 방식이 다르기 때문입니다:

  • v0: Vercel에서 개발한 AI 기반 UI 생성 도구로, Next.js와 React 환경에 특화됨

  • Lovable: 단일 프롬프트로 풀스택 앱 생성을 목표로 하는 AI 앱 빌더로, Vite와 React 조합에 중점을 둠

이 두 도구의 실사용 경험을 통해 각각의 강점과 한계점을 파악하고, 어떤 상황에서 어떤 도구가 더 적합한지 알아보고자 했습니다. 프로젝트의 프롬프트와 레퍼런스 사이트는 동일하지는 않았습니다!

진행 방법

v0 사용 경험

v0는 Vercel이 개발한 AI 도구로, 자연어 프롬프트를 통해 React 컴포넌트를 생성하는 데 중점을 둡니다. 포트폴리오 사이트 구축을 위해 다음과 같은 프롬프트를 사용했습니다.

## 🤖 v0 AI 프롬프트: 퍼스널 브랜딩 & 기술 블로그 웹앱 UI 개발

<Goal>
**프로젝트 개요:** 개인의 전문성을 어필하고 기술 지식을 공유하기 위한 "퍼스널 브랜딩 & 기술 블로그 웹앱"의 UI 컴포넌트 및 레이아웃 생성을 요청합니다. 핵심 기능은 포트폴리오 전시와 방문자의 기술 수준(초급, 중급, 고급)에 따른 맞춤형 블로그 콘텐츠 제공입니다.
</Goal>

<Warning>
생성되는 모든 컴포넌트와 레이아웃은 Tailwind CSS 클래스를 최대한 활용하여 커스텀 CSS 사용을 최소화하도록 해주세요. 또한, 각 컴포넌트의 재사용성을 고려하여 설계해주시면 감사하겠습니다. 첨부된 UI 예시파일의 이미지들이나 플레이스홀더들은 추후 실제 데이터로 교체될 예정입니다.
</Warning>

<Context Dump>
**기본 기술 스택:** React, Tailwind CSS

**전반적인 디자인 스타일:** 모던하고 깔끔한 디자인 (Modern and Clean Design)을 추구합니다. 충분한 여백, 명확한 타이포그래피, 직관적인 사용자 인터페이스를 선호합니다. 모든 컴포넌트는 완벽하게 반응형이어야 하며, 다양한 화면 크기에서 최적의 사용성을 제공해야 합니다. 인터랙티브 요소(호버, 클릭 효과 등)는 부드럽고 직관적으로 구현될 수 있도록 플레이스홀더 또는 기본 스타일을 포함해주세요.

---

### Ⅰ. 공통 레이아웃 요소

1. **글로벌 헤더 (Global Header):**
    - **요청:** Tailwind CSS를 사용하여 반응형 상단 고정 헤더를 만들어주세요.
    - **구성:**
        - 왼쪽: 텍스트 기반 로고 (예: "Dev. [Your Name]" 또는 개인 브랜딩 문구) - 클릭 시 홈페이지로 이동.
        - 오른쪽: 네비게이션 링크 ("Portfolio", "Blog"). 현재 활성화된 페이지의 링크는 시각적으로 구분되도록 (예: 밑줄, 다른 색상 또는 볼드 처리) 스타일링 해주세요.
    - **스타일:** 모던하고 깔끔하며, 그림자 효과는 최소화하거나 은은하게 적용해주세요. 패딩과 요소 간 간격은 적절히 확보해주세요.
2. **글로벌 푸터 (Global Footer):**
    - **요청:** Tailwind CSS를 사용하여 간결하고 모던한 푸터를 만들어주세요.
    - **구성:**
        - 중앙 또는 왼쪽 정렬: 저작권 정보 (예: "© 2024 [Your Name]. All Rights Reserved.").
        - 오른쪽 또는 중앙 하단: GitHub, LinkedIn 등 주요 소셜 미디어 프로필로 연결되는 아이콘 링크 (아이콘 플레이스홀더 사용 가능).
    - **스타일:** 헤더와 일관된 톤앤매너를 유지하며, 페이지의 다른 콘텐츠를 방해하지 않도록 심플하게 디자인해주세요.

---

### Ⅱ. 포트폴리오 섹션 (`/portfolio`)

1. **포트폴리오 페이지 전체 레이아웃:**
    - **요청:** Tailwind CSS를 사용하여 싱글 페이지 스크롤 형태 또는 명확히 구분된 섹션들로 구성된 포트폴리오 페이지 레이아웃을 만들어주세요.
    - **섹션 순서:** Hero → About Me → Skills → Projects → Contact.
    - **스타일:** 각 섹션 간 전환이 명확하고, 전체적으로 통일성 있는 모던한 디자인을 적용해주세요.
2. **Hero 섹션 (포트폴리오):**
    - **요청:** Tailwind CSS를 사용하여 시선을 사로잡는 모던한 Hero 섹션을 만들어주세요.
    - **구성:**
        - 중앙 정렬된 텍스트 블록.
        - 메인 타이틀: "개발자 [Your Name]".
        - 서브 타이틀/직무: "Python & Next.js 웹 개발자".
        - 짧은 소개 문구 (1-2줄): 개발 철학이나 핵심 가치를 담은 문구 (예: "코드로 가치를 창조하고 지식을 나누는 개발자입니다.").
    - **스타일:** 가독성 높은 큰 타이포그래피와 충분한 여백을 활용해주세요. 배경은 단색 또는 은은한 그라데이션, 고품질 배경 이미지(플레이스홀더) 사용도 고려할 수 있습니다.
3. **About Me 섹션 (포트폴리오):**
    - **요청:** Tailwind CSS를 사용하여 자신을 소개하는 'About Me' 섹션을 디자인해주세요.
    - **구성 (반응형 2단 레이아웃):**
        - 왼쪽 단: 프로필 사진을 위한 원형 또는 둥근 사각형 플레이스홀더.
        - 오른쪽 단: 개발자로서의 성장 과정, 주요 관심사, 지향하는 가치 등을 담을 수 있는 2-3개의 문단으로 구성된 텍스트 영역.
    - **스타일:** 친근하면서도 전문적인 느낌을 주며, 텍스트 가독성에 중점을 둬주세요.
4. **Skills 섹션 (포트폴리오):**
    - **요청:** Tailwind CSS를 사용하여 보유 기술 스택을 시각적으로 보여주는 'Skills' 섹션을 만들어주세요.
    - **구성:**
        - 섹션 제목: "My Tech Stack" 또는 "Skills".
        - 기술 아이콘 그리드: Python, Next.js, React, PostgreSQL, Tailwind CSS, Docker 등 주요 기술 아이콘(플레이스홀더)과 해당 기술명을 함께 표시하는 반응형 그리드 레이아웃.
    - **스타일:** 각 기술 아이템이 명확히 구분되고, 전체적으로 정돈된 느낌을 주도록 디자인해주세요. 호버 시 약간의 인터랙션(예: 크기 변화, 그림자)을 추가해도 좋습니다.
5. **Projects 섹션 (포트폴리오):**
    - **요청:** Tailwind CSS를 사용하여 주요 프로젝트들을 소개하는 'Projects' 섹션을 만들어주세요.
    - **프로젝트 카드 (Project Card) 컴포넌트:**
        - 상단: 프로젝트 대표 이미지 (가로형 플레이스홀더).
        - 중단: 프로젝트 제목 (굵게), 간략한 설명 (1-2줄).
        - 하단: 사용된 주요 기술 태그들 (예: `#Python`, `#Next.js`, `#API`).
        - 스타일: 모던하고 깔끔한 카드 디자인. 호버 시 카드 전체에 은은한 그림자 효과 또는 테두리 강조 효과를 적용하여 인터랙션을 나타내주세요. 카드 클릭 시 프로젝트 상세 페이지로 이동합니다 (링크 플레이스홀더).
    - **프로젝트 그리드 레이아웃:** 위에서 정의한 '프로젝트 카드'를 사용하여 반응형 그리드 레이아웃 (데스크탑: 2-3열, 태블릿: 2열, 모바일: 1열)으로 프로젝트들을 나열해주세요. 카드 간 간격은 일정하게 유지해주세요.
6. **Contact 섹션 (포트폴리오):**
    - **요청:** Tailwind CSS를 사용하여 연락 정보를 제공하는 'Contact' 섹션을 만들어주세요.
    - **구성:**
        - 섹션 제목: "Get In Touch" 또는 "Contact Me".
        - 이메일 주소: 클릭 시 메일 클라이언트가 실행되는 링크 형태 (`mailto:`).
        - LinkedIn 프로필 링크: 아이콘과 함께 표시.
        - (선택) GitHub 프로필 링크: 아이콘과 함께 표시.
    - **스타일:** 간결하고 명확하게 정보를 전달하며, 쉽게 접근할 수 있도록 디자인해주세요.

---

### Ⅲ. 프로젝트 상세 페이지 (`/portfolio/[project-slug]`)

1. **프로젝트 상세 페이지 레이아웃:**
    - **요청:** Tailwind CSS를 사용하여 개별 프로젝트의 상세 정보를 보여주는 페이지 레이아웃을 만들어주세요.
    - **구성:**
        - 상단: 프로젝트 제목 (페이지의 메인 타이틀).
        - 그 아래: 프로젝트 대표 이미지 또는 임베드된 데모 영상 영역 (가로가 넓은 플레이스홀더).
        - 본문 (반응형 2단 레이아웃 고려):
            - 왼쪽 (메인 콘텐츠): 프로젝트 개요, 나의 역할, 개발 과정에서의 주요 도전 과제 및 해결 방법, 프로젝트 결과 및 성과 (수치화된 데이터가 있다면 강조).
            - 오른쪽 (부가 정보): 사용된 기술 스택 목록 (아이콘 또는 텍스트), "View Live Demo" 버튼 (해당 시), "View on GitHub" 버튼.
    - **스타일:** 정보 전달에 중점을 두되, 가독성이 높고 시각적으로 편안한 모던한 디자인을 적용해주세요. 버튼은 명확한 CTA(Call To Action) 스타일로 디자인해주세요.

---

### Ⅳ. 블로그 목록 페이지 (`/blog`)

1. **블로그 게시글 카드 (목록용):**
    - **요청:** Tailwind CSS를 사용하여 블로그 목록에 사용될 게시글 카드 컴포넌트를 만들어주세요.
    - **구성:**
        - (선택) 상단 또는 왼쪽: 게시글 대표 이미지 (플레이스홀더).
        - 제목: 가독성 좋은 크기와 굵기로 표시.
        - 요약: 본문 내용 중 일부를 2-3줄 정도로 간략하게 표시.
        - 메타 정보: 작성일, (선택적으로) 카테고리, 주요 태그.
        - "Read More" 또는 "더 보기" 링크/버튼.
    - **스타일:** 깔끔하고 정보가 잘 정리된 카드 디자인. 호버 시 인터랙션(예: 배경색 변경, 그림자)을 추가해주세요.
2. **블로그 목록 페이지 레이아웃:**
    - **요청:** Tailwind CSS를 사용하여 위에서 정의한 '블로그 게시글 카드'들을 보여주는 반응형 목록 페이지를 만들어주세요.
    - **레이아웃:** 데스크탑에서는 2열 그리드, 모바일에서는 1열 스택 형식으로 자동 변경.
    - **추가 요소:**
        - 페이지 상단: (선택) 카테고리 또는 태그 필터링을 위한 드롭다운 또는 버튼 그룹 (UI 플레이스홀더).
        - 페이지 하단: 페이지네이션 컴포넌트 (숫자, 이전/다음 버튼 포함. UI 플레이스홀더).
    - **스타일:** 전체적으로 일관성 있고 사용자가 원하는 글을 쉽게 찾을 수 있도록 모던하고 직관적으로 디자인해주세요.

---

### Ⅴ. 블로그 상세 페이지 (`/blog/[post-slug]`)

1. **블로그 상세 페이지 전체 레이아웃 (Sticky 사이드바 포함):**
    - **요청:** Tailwind CSS를 사용하여 왼쪽에 고정(Sticky) 사이드바가 있고, 오른쪽에 메인 콘텐츠 영역이 있는 블로그 상세 페이지 레이아웃을 만들어주세요.
    - **특징:** 페이지를 스크롤해도 사이드바는 화면 좌측 상단에 고정되어 항상 보여야 합니다.
    - **스타일:** 사이드바와 콘텐츠 영역이 명확히 구분되면서도 조화로운 모던한 디자인을 적용해주세요.
2. **학습 수준 전환 사이드바 (Sticky):**
    - **요청:** 위 레이아웃의 Sticky 사이드바 내부에 학습 수준(초급, 중급, 고급) 전환 기능을 구현해주세요.
    - **구성:**
        - 세로로 정렬된 3개의 버튼: "초급 (Beginner)", "중급 (Intermediate)", "고급 (Advanced)".
        - 현재 선택된 수준의 버튼은 명확한 활성화 스타일 적용 (예: 배경색 변경 - 주요 색상 사용, 텍스트 색상 반전, 아이콘 추가 등).
        - 기본적으로 '중급' 버튼이 활성화된 상태로 시작합니다.
    - **스타일:** 각 버튼은 클릭 가능함을 명확히 나타내며, 전체 사이드바는 간결하고 모던한 느낌을 유지해야 합니다. 과도한 장식은 피해주세요.
3. **콘텐츠 영역 (블로그 상세):**
    - **요청:** Tailwind CSS를 사용하여 선택된 학습 수준에 따라 동적으로 내용이 변경되는 메인 콘텐츠 영역을 디자인해주세요.
    - **구성:**
        - 상단: 게시글의 메인 제목 (크고 명확하게).
        - 그 아래: 선택된 학습 수준에 맞는 본문 내용. 여기에는 일반 텍스트, 이미지(플레이스홀더), 다이어그램(플레이스홀더), 그리고 아래에 정의될 코드 블록 컴포넌트가 포함됩니다.
    - **스타일:** 가독성이 매우 중요합니다. 적절한 줄 간격, 폰트 크기, 여백을 사용하여 편안하게 읽을 수 있도록 해주세요. 콘텐츠 전환 시 부드러운 시각적 효과(예: 페이드 인/아웃)를 위한 준비가 되어 있으면 좋습니다 (CSS 트랜지션).
4. **코드 블록 컴포넌트:**
    - **요청:** Tailwind CSS를 사용하여 코드 스니펫을 보여주기 위한 재사용 가능한 코드 블록 컴포넌트를 만들어주세요.
    - **구성:**
        - 배경: 어두운 계열의 색상 (예: `bg-gray-800` 또는 유사한 모던한 다크 테마).
        - (선택) 상단 좌측: 코드 언어 표시 (예: "Python", "JavaScript").
        - 상단 우측: '복사하기' 아이콘 버튼 (클릭 시 코드 복사 기능 연동 예정).
        - 내부: 코드 텍스트 (가독성 좋은 고정폭 글꼴 사용, 실제 구문 강조는 JS 라이브러리 연동 예정이므로 기본 텍스트 스타일만 적용).
    - **스타일:** 전문적이고 깔끔한 느낌. 내부 패딩을 적절히 주어 코드가 답답해 보이지 않도록 해주세요.
5. **관련 글 링크 섹션:**
    - **요청:** Tailwind CSS를 사용하여 게시글 본문 하단에 '함께 읽으면 좋은 글' 또는 '관련 게시물' 섹션을 만들어주세요.
    - **구성:** 섹션 제목과 함께 2-3개의 관련 게시글 제목을 링크 형태로 나열.
    - **스타일:** 현재 페이지의 디자인과 조화를 이루며, 사용자의 추가적인 탐색을 유도할 수 있도록 깔끔하게 디자인해주세요.

---

### Ⅵ. 기타 공용 UI 컴포넌트

1. **기본 버튼 (Primary & Secondary Buttons):**
    - **요청:** Tailwind CSS를 사용하여 재사용 가능한 기본 버튼 스타일을 2종류(주요 액션용, 보조 액션용)로 만들어주세요.
    - **주요 버튼 (Primary):** 배경색은 프로젝트의 주요 색상(예: 파란색 계열), 텍스트는 흰색. 호버 시 약간 어두워지거나 그림자 효과.
    - **보조 버튼 (Secondary):** 테두리만 있거나(outline), 밝은 회색 배경. 호버 시 색상 변화.
    - **스타일:** 모던하고 깔끔하며, 클릭 가능한 요소임을 명확히 인지할 수 있도록 디자인. 적절한 패딩과 둥근 모서리 적용.
2. **태그 (Tag) 컴포넌트:**
    - **요청:** Tailwind CSS를 사용하여 프로젝트 카드나 블로그 게시글에 사용될 작은 태그 컴포넌트를 만들어주세요.
    - **스타일:** 작고 둥근 모서리, 밝은 배경색(예: 연한 회색, 연한 파란색)에 조금 더 어두운 텍스트 색상. 여러 태그가 나열될 때 보기 좋도록 간결하게 디자인.
3. **로딩 스피너 (Loading Spinner):**
    - **요청:** Tailwind CSS를 사용하여 데이터 로딩 중에 표시할 심플하고 모던한 애니메이션 로딩 스피너를 만들어주세요.
    - **스타일:** 과도하게 시선을 끌지 않으면서 로딩 중임을 명확히 알 수 있는 디자인 (예: 회전하는 원, 깜빡이는 점).

</Context Dump>

v0는 이 프롬프트를 바탕으로 Next.js와 React 기반의 포트폴리오 사이트를 생성해주었습니다.
이미지는 따로 추가해주진 않았네요 🤷‍♂️

Word'Your Name '이있는 웹 사이트의 스크린 샷


흰색 배경이있는 웹 사이트의 스크린 샷

https://github.com/jinmini/v0-portfolio-prototype - v0로 만든 소스코드는 여기서 확인✅


Tailwind CSS를 활용한 스타일링이 적용되었고, 반응형 레이아웃이 자동으로 조정되었습니다.

v0의 가장 큰 장점은 코드 품질이었습니다. 생성된 코드는 깔끔하고 구조화되어 있었으며, Next.js의 파일 기반 라우팅 시스템을 잘 활용하고 있었습니다. 물론 리팩토링이나 원하는 아키텍쳐에 맞춰서 추가 작업이 필요하지만 Tailwind CSS를 통한 스타일링이 일관되게 적용되어 있었습니다.

하지만 문제점도 있었습니다. ‼️

긴 맥락의 정교한 프롬프트를 요청하니 Monthly Credits US$5.00 중 US$4.81을 한 번에 사용해버렸습니다. 추가적인 디자인 수정이나 기능 개선을 위해서는 유료 구독이 필요했죠. 남은 크레딧으로는 한 두번 정도의 디자인 수정 정도는 가능할 듯,,합니다😒

Lovable 사용 경험

Lovable은 단일 프롬프트에서 풀스택 앱 생성을 목표로 하는 도구입니다.
v0와 동일한 프롬프트를 사용하진 않았습니다.

이 웹사이트를 만들어 주세요.
---

## 🧠 PRD: ESG & 프로그래밍 포트폴리오 웹사이트 (취업용)

### Instructions

ESG 컨설팅과 프로그래밍 역량을 함께 보여주는 감각적이고 설득력 있는 포트폴리오 웹사이트를 제작한다. 채용 담당자가 직관적으로 강점을 파악할 수 있도록 구성하며, 전문성과 분석력, 기술 스택을 명확히 드러낸다.

---

### 🎯 Goals

#### Business Goals

* ESG 및 기후 기술 관련 회사로의 취업 확률 향상
* ESG+개발을 모두 할 수 있는 드문 인재임을 각인
* 프로젝트 기반의 강력한 포지셔닝 확보

#### User Goals

* 이 사람이 ESG 도메인과 개발 모두에 전문성이 있는지 30초 이내에 이해
* 핵심 프로젝트를 빠르게 스캔하며 상세 내용 확인 가능
* ESG 관련 프로젝트의 맥락과 임팩트를 명확하게 이해

#### Non-Goals

* 퍼블릭 블로그나 뉴스레터 운영은 포함하지 않음
* 소셜 커뮤니티와의 연동은 1차 목표가 아님

---

### 👤 User Stories

* 나는 ESG 채용 담당자다. 이 사람이 복잡한 데이터도 잘 이해하고, 스스로 구현까지 할 수 있는지를 알고 싶다.
* 나는 기술팀 매니저다. 이 지원자가 실제로 프로덕션 코드까지 구현 가능한 역량이 있는지 보고 싶다.
* 나는 일반 방문자다. 이 사람의 핵심 관심사와 방향성을 빠르게 이해하고 싶다.

---

### 🧭 User Experience

**홈페이지**

* Hero 섹션: 이름 + “ESG 컨설턴트 & 데이터 개발자” + 간결한 자기 소개 (한 줄)
* 프로젝트 하이라이트 (3\~5개): 온실가스 배출량 계산기, 탄소중립 대시보드, 데이터 시각화 툴 등
* 기술 스택 섹션: ESG 도메인 툴 (GHG Protocol, LCA, etc) + 기술 (Python, Streamlit, SQL 등)

**프로젝트 상세 페이지**

* 프로젝트 배경과 문제 정의
* 접근 방법 및 사용 도구 (GHG 산정 로직, Python 활용 등)
* 결과 및 임팩트 (숫자로 표현)
* GitHub 코드 링크, 혹은 데모 링크

**기타 페이지**

* About Me (커리어 경로와 방향성)
* Resume PDF 링크
* 연락처/LinkedIn/Email

---

### 📖 Narrative

ESG는 더 이상 '리포트'가 아니라, '데이터'의 영역이다.
이 웹사이트는 ESG 컨설팅 경험과 기술적 문제 해결력을 모두 보여주는 플랫폼이다.
배출량 계산 도구를 직접 만들고, 대시보드를 설계하며, 복잡한 데이터를 시각화하는 이력은 단순히 “ESG 전문가”를 넘어서, **기후 문제를 코드로 해결할 수 있는 인재**임을 증명한다.
채용 담당자는 이 웹사이트를 통해 “이 사람, 꼭 인터뷰해봐야겠다”는 확신을 가지게 될 것이다.

---

### 📊 Success Metrics

* 평균 체류 시간 90초 이상
* 프로젝트 클릭률 80% 이상
* 이력서 다운로드 또는 연락 버튼 클릭률 15% 이상
* 포트폴리오 공유 횟수 (예: LinkedIn 등) 5회 이상

---

### 🛠️ Technical Considerations

* 프론트엔드: Next.js (SSR + SEO 대응)
* 시각화 도구: D3.js, Chart.js, 혹은 Streamlit 임베드
* 데이터 처리: Python 기반 스크립트 (Pandas, NumPy 등)
* 호스팅: Vercel
* SEO 및 모바일 최적화 필수
* GitHub 프로젝트와 연동 (신뢰도 상승)

---

### 🗓️ Milestones & Sequencing

1. 콘텐츠 정리 (이력, 프로젝트 요약, 이미지/스크린샷) – 1\~2주
2. 디자인 초안 및 시안 개발 – 2주
3. 웹사이트 개발 및 애니메이션 적용 – 2\~3주
4. SEO/테스트 및 배포 – 1주
5. 포트폴리오 피드백 반영 및 수정 – 1주

---

이 정도면 채용 담당자들이 꽤 강하게 관심을 가질 수 있을 거예요.
혹시 **실제 보여주고 싶은 프로젝트 예시**나, **좋아하는 디자인 스타일/참고할 사이트**가 있다면 알려주실 수 있을까요? 그러면 UI/UX 섹션이나 콘텐츠 구조도 더 구체화해드릴게요!

Lovable은 이 프롬프트를 바탕으로 Vite와 React 기반의 포트폴리오 사이트를 만들어 주었습니다.

ESG
다른 유형의 컴퓨터를 보여주는 웹 사이트 페이지
다양한 유형의 정보가있는 한국 웹 사이트 스크린 샷
한국어 웹 사이트의 홈페이지
한국 웹 사이트의 로그인 페이지

Lovable의 가장 큰 장점은 깔끔하고 일관적인 UI와 Supabase로 DB까지 바로 연동할 수 있다는 점이겠죠?! 그리고 사진도 알아서 척척! 🤳

또한 크레딧 정책도 사용자 친화적이었습니다. v0와 달리 프롬프트의 길이를 토큰 단위로 처리해 크레딧을 차감하는 방식이 아니라, 채팅 한 번당 사용 횟수로 차감되는 방식이었습니다. 무료 플랜도 하루 5크레딧, 월 30크레딧으로 넉넉하게 제공되어 부담 없이 사용할 수 있었습니다.

결과와 배운 점

각 도구의 장단점

v0의 장점:

  • 깔끔하고 품질 높은 React 컴포넌트 생성

  • Next.js의 파일 기반 라우팅, SSR, SSG 등 다양한 기능 지원

  • SEO 최적화가 필요한 프로젝트에 적합

  • Vercel 생태계와의 원활한 통합

v0의 단점:

  • 무료 크레딧이 빠르게 소진됨

  • 백엔드 기능 통합을 위해서는 수동 작업 필요

  • 복잡한 프로젝트에서는 한계가 있음

Lovable의 장점:

  • 프론트엔드, 백엔드, 데이터베이스를 포함한 엔드투엔드 솔루션

  • 사용자 친화적인 크레딧 정책

  • Supabase 통합으로 데이터 관리 용이

  • UI 사용자 정의를 위한 시각적 편집 기능

Lovable의 단점:

  • Vite+React 조합으로 SSR을 위해서는 추가 설정 필요

  • 코드 편집의 유연성 제한

  • 프롬프트 품질에 크게 의존

시행착오와 배운 점

제가 이번에 v0와 Lovable을 처음 사용해 보았고 프롬프트와 레퍼런스 사이트를 동일하게 준 것은 아니라 결과물이 다른 것은 당연한 거 같습니다. 그래도 둘 다 뭔가 학습된 데이터(Figma 기반?)를 바탕으로 웹사이트를 제작해 주다 보니 어느 정도 UI가 비슷한 느낌은 있었습니다. 그리고 생각보다 첨부해 준 사이트 디자인을 잘 따라하지는 못 하는 거 같습니다. 이것은 프롬프트에서 지시한 UI, UX 요구 사항과 제가 Screen Capture한 사이트의 UI가 달라서 AI한테 오히려 혼란을 주었을 수도 있다고 생각합니다!

나만의 꿀팁

두 툴을 사용해 보니 확실히 무료 사용자 입장에서는 러버블이 더 많은 이점을 제공해주는 거 같습니다. 일별, 월별 크레딧도 넉넉하고 MVP로 여러 버전의 프로토타입을 만들어 사용자가 가장 마음에 드는 디자인을 선택하면 되니까요!!

앞으로의 계획

현재는 Lovable로 생성된 Vite+React 프로젝트를 Next.js+React로 마이그레이션하는 작업을 계획 중입니다. https://nextjs.org/docs/app/guides/migrating/from-vite

Next.js 공식 docs에서도 마이그레이션 진행 과정이 나와있네요!
Cursor의 도움을 받아 이 작업을 진행할 예정이며, 명확한 PRD 문서와 cursorrules, MCP 활용을 통해 더욱 효율적으로 접근해볼 계획입니다. 과연 오류를 얼마나 내지 않고 이 작업을 수행할 수 있을지,, 궁금하네요.!! 바이브 디버깅의 진가가 발휘되는,,╰(*°▽°*)╯
(5월 17일날 설치해 본 Task Master MCP 기능을 써 보면 아주 유용할지도?!!)

지금은 연습 삼아서 기본적인 포트폴리오 사이트를 만들어 봤지만 앞으로 제가 생각하는 서비스 구현을 위해 SEO 최적화와 더 나은 성능을 위해 Next.js의 장점을 활용해야 하기 때문에 만약 위 작업이 수월하게 진행된다면 앞으로 프로젝트 진행에 많은 도움이 될 거 같네요!😊

도움 받은 글

  • Vercel의 공식 v0 문서 및 튜토리얼

  • Lovable의 공식 가이드 및 사용 사례

결론

AI 노코드 툴은 개발 효율성을 크게 향상시킬 수 있지만, 각 도구의 특성과 장단점을 이해하고 상황에 맞게 활용하는 것이 중요하다고 생각합니다~ 🖥️
v0는 프론트엔드 UI 개발에 탁월하지만 크레딧 제한이 있고,
Lovable은 풀스택 개발에 강점이 있지만 SSR과 같은 고급 기능에는 제한이 있습니다.

결국 어떤 프로젝트를 진행하냐에 따라 선택지는 달라질 수 있지만, 무료 사용자의 경우 디자인 수정이나 기능 추가 등 추가적인 프롬프트가 필요한 상황에서는 Lovable을 추천합니다!!

9
3개의 답글

👉 이 게시글도 읽어보세요