
바이브코딩으로 만든 걸 실제로 배포까지 해본 중급 전환점은 ‘AI가 코드를 잘 짜준다’가 아니라 ‘내가 운영 가능한 단위로 쪼개고 검증할 수 있느냐’에서 옵니다. 로컬에서 돌아가는 데모는 Claude Code나 Cursor로 꽤 빨리 만들 수 있지만, 배포 후에는 환경변수, 인증, DB 마이그레이션, 로그, 롤백이 바로 실력 차이를 만듭니다.
이 글에는 제휴(어필리에이트) 링크가 포함될 수 있으며, 링크를 통해 가입·구매 시 소정의 수수료를 받을 수 있습니다. 추천은 실제 사용 경험에 기반합니다.
로컬에서 돌아가는 프로젝트가 있다면, 오늘 배포 체크리스트를 먼저 만들고 Vercel 프리뷰 URL까지 확인해 보세요.
결론부터 말하면, 중급으로 넘어가려면 AI에게 기능 구현만 맡기지 말고 배포 체크리스트를 함께 관리해야 합니다. 저는 작은 Next.js 앱을 Vercel에 올리는 흐름에서 이 차이를 가장 크게 느꼈습니다.
오늘은 새 기능보다 환경변수, 에러 로그, 롤백 방법부터 문서화해 보세요.
로컬에서 잘 되던 코드가 배포에서 깨지는 이유
바이브코딩은 아이디어를 코드로 바꾸는 속도를 극단적으로 높입니다. 문제는 빠르게 만든 코드일수록 ‘내 컴퓨터에서는 됨’ 상태로 남기 쉽다는 점입니다.
예를 들어 Claude Code로 Supabase 로그인과 간단한 대시보드를 붙이고, Cursor에서 UI를 다듬으면 하루 안에 그럴듯한 화면이 나옵니다. 그런데 Vercel에 올리는 순간 NEXT_PUBLIC_ 환경변수 누락, 서버 전용 키 노출 위험, 빌드 타임 오류, RLS 정책 미설정 같은 문제가 튀어나옵니다.
제가 쓰는 최소 셋업
중급 단계에서는 도구를 많이 쓰는 것보다 역할을 분리하는 편이 낫습니다. 아래 조합은 작은 SaaS 프로토타입이나 내부 자동화 도구를 배포할 때 부담이 적었습니다.
- Claude Code: 기능 단위 구현, 리팩터링, 테스트 케이스 초안 작성
- Cursor: 파일 간 이동, UI 수정, 코드 리뷰 질문
- GitHub: 변경 이력 관리와 배포 전 비교
- Vercel: Next.js 배포, 프리뷰 URL 확인
- Supabase: 인증, Postgres, Storage를 빠르게 붙일 때
- Sentry: 배포 후 브라우저·서버 에러 추적
핵심은 AI 코딩 에이전트가 만든 결과물을 바로 배포하지 않는 것입니다. 최소 한 번은 ‘이 코드가 운영 환경에서 무엇을 가정하는지’를 AI에게 되물어야 합니다.
배포까지 가면 달라지는 체크포인트
| 구간 | 로컬 데모에서 보는 것 | 배포 단계에서 꼭 보는 것 | 추천 도구 |
|---|---|---|---|
| 환경 설정 | .env 파일로 실행 여부 | 프로덕션 변수 분리, 공개 키/비밀 키 구분 | Vercel Environment Variables |
| 데이터 | 테스트 데이터 입력 | 마이그레이션, 권한 정책, 백업 가능성 | Supabase, Prisma |
| 오류 | 콘솔 로그 확인 | 사용자 환경에서 난 오류 수집 | Sentry |
| 변경 관리 | AI가 수정한 파일 확인 | 커밋 단위, 롤백 가능 여부 | GitHub |
| 품질 | 눈으로 화면 확인 | 핵심 플로우 테스트, 권한 없는 접근 차단 | Playwright, Vitest |
구체적인 예: 이슈 요약 대시보드 배포
가상의 예로, GitHub 이슈를 불러와 AI로 요약하는 작은 대시보드를 만든다고 해보겠습니다. Claude Code에 “GitHub API로 이슈 목록을 가져오고, OpenAI API로 요약해서 카드로 보여줘”라고 요청하면 첫 버전은 빠르게 나옵니다.
하지만 배포 전에는 프롬프트를 바꿔야 합니다. “Vercel 배포 기준으로 필요한 환경변수 목록, 서버 액션에서만 써야 하는 키, 실패 시 사용자에게 보여줄 메시지, 로그로 남길 항목을 표로 정리해줘”라고 물어보면 결과물이 달라집니다.
이 한 번의 질문이 중급 전환점입니다. 기능을 만드는 사람이 아니라, 작은 서비스를 운영하는 사람의 질문으로 바뀌기 때문입니다.
누구에게 어떤 조합을 추천하나
1인 빌더라면: Claude Code + Vercel + Supabase
혼자 빠르게 검증하는 단계라면 이 조합이 효율적입니다. Claude Code로 작업 단위를 밀고, Vercel 프리뷰 링크로 실제 모바일 화면을 확인하세요. Supabase는 인증과 DB를 빨리 붙일 수 있어 MVP에 잘 맞습니다.
프론트 감각이 더 중요하다면: Cursor + Figma + Vercel
랜딩페이지, 대시보드, 내부 툴처럼 UI 완성도가 중요한 경우 Cursor가 편합니다. Figma에서 구조를 잡고 Cursor에서 컴포넌트 단위로 다듬으면 AI가 만든 어색한 화면을 줄일 수 있습니다.
자동화가 섞이면: n8n 또는 Zapier를 옆에 둔다
결제 알림, Slack 메시지, Airtable 기록처럼 앱 밖의 흐름이 많다면 모든 것을 코드로 짜지 않는 편이 낫습니다. n8n이나 Zapier로 외부 이벤트를 처리하고, 앱은 핵심 화면과 권한 관리에 집중시키면 유지보수가 쉬워집니다.
가장 흔한 실수: AI에게 ‘배포해줘’만 말하는 것
AI 에이전트에게 한 번에 배포까지 맡기면, 겉으로는 성공한 것처럼 보여도 위험한 설정이 숨어 있을 수 있습니다. 특히 API 키가 클라이언트 번들에 들어가거나, Supabase RLS가 꺼진 채로 공개되는 실수는 초반에 꼭 확인해야 합니다.
다음 프롬프트를 저장해두면 좋습니다.
“이 프로젝트를 프로덕션에 배포한다고 가정하고, 보안상 위험한 코드, 누락된 환경변수, DB 권한 설정, 로그/모니터링, 롤백 절차를 체크리스트로 검토해줘. 수정이 필요한 파일명과 이유도 함께 알려줘.”
이 질문은 새 기능을 만드는 것보다 덜 화려하지만, 실제 서비스로 가는 시간을 줄여줍니다.
FAQ
Q. 배포 경험이 없으면 Vercel부터 써도 될까요?
Next.js나 React 기반이라면 Vercel이 가장 진입 장벽이 낮습니다. 다만 환경변수와 빌드 로그를 읽는 습관은 처음부터 들이는 게 좋습니다.
Q. Claude Code와 Cursor 중 하나만 고른다면요?
터미널 기반으로 작업 단위를 길게 맡기고 싶다면 Claude Code, 에디터 안에서 파일을 보며 자주 수정한다면 Cursor가 편합니다. 처음에는 둘 다 쓰기보다 하나로 끝까지 배포해보는 편이 더 빨리 늘어납니다.
Q. 테스트 코드는 꼭 필요할까요?
모든 화면을 테스트할 필요는 없습니다. 로그인, 결제, 데이터 저장처럼 깨지면 치명적인 플로우 2~3개만 먼저 잡아도 배포 후 불안이 크게 줄어듭니다.
오늘 바로 할 다음 행동
이미 로컬에서 돌아가는 프로젝트가 있다면 새 기능을 하나 더 만들기 전에 배포 노트를 작성하세요. 필요한 항목은 간단합니다. 환경변수 목록, 배포 URL, 데이터베이스 정책, 에러 확인 위치, 되돌리는 방법입니다.
바이브코딩의 진짜 성장은 ‘만들었다’에서 끝나지 않고, 다른 사람이 접속해도 안전하게 돌아가게 만드는 순간에 시작됩니다. 오늘은 기능 추가보다 첫 배포 체크리스트를 통과시키는 쪽이 더 값진 진도일 수 있습니다.
관련 링크
- ai 코딩 구독 요금 비교: Claude Code·Cursor·Copilot, 빌드용으로 돈값 하는 조합
- ai 코딩 에이전트 테스트 자동화, 생성 코드 믿고 배포하려면 제가 두는 5개 게이트
- AI한테 코드 시킬 때 안 막히는 질문법: Claude Code와 Cursor에서 통하는 작업 지시 순서
- 관련 태그 더 보기
- 카테고리 더 보기
- 검색 결과 더 보기
- 참고 링크
