Cursor든 Claude code든, AI와 함께 열심히 바이브 코딩해 앱을 만들었습니다. AI가 알려준 대로 npm run dev를 쳐 보니 내 노트북에서 앱이 완벽하게 돌아갑니다. 정말 완벽하죠. 누구든 써보고 싶어할 정도로요.
하지만 브라우저에 뜬 localhost, 이건 내 컴퓨터 안에서만 통하는 주소입니다. 따라서 그 상태의 앱은 세상에 존재하지 않는 것과 같습니다. 친구에게 “한 번 써봐”라고 꺼드럭대려면 결국 클릭할 수 있는 URL이 필요합니다.
여기서부터 바이브 코딩의 사각지대입니다. 코드는 AI가 빠르게 뽑아주는데, 배포는 여전히 사람을 괴롭힙니다. 도메인 연결, HTTPS 적용, DB 연결, 환경변수 세팅, 그리고 운영 중 장애 대응까지. 앱을 만드는 일과 앱을 밖으로 꺼내는 일은 완전히 다른 게임입니다. 이 마지막 1km가 바이브 코딩 배포에서 가장 자주 막히는 지점입니다.
오늘은 그 1km를 다뤄볼 예정인데요, 결론부터 말하겠습니다. 2026년 기준, 바이브 코딩 앱의 표준 배포 스택은 Vercel + Supabase입니다. 이 Vercel과 Supabase를 기본값으로 깔고 세 가지를 정리합니다. 첫째, 왜 이 조합이 무료 배포의 표준이 됐는지. 둘째, 0원으로 어디까지 버틸 수 있는지. 셋째, 내 상황에서 이 스택이 안 맞을 때 어떤 대안을 고르면 되는지입니다.
Vercel은 코드를 빌드해서 인터넷에 띄워주는 배포 플랫폼입니다. 프론트엔드 페이지도 서빙하고, API Route 같은 서버리스 함수도 돌려주지만, 데이터를 영구적으로 저장할 곳이 마땅치 않습니다. 서버리스 함수는 요청이 올 때 실행됐다가 사라지는 구조라 유저 정보나 게시글 같은 데이터를 담아둘 DB가 자체적으로 없는 거죠.
그 빈자리는 Supabase가 채웁니다. PostgreSQL DB, 유저 인증, 파일 스토리지, 실시간 구독까지 “데이터를 다루는 모든 것”을 한 덩어리로 제공하기 때문이죠.

Vercel은 Next.js를 만든 회사의 배포 플랫폼입니다. 또, Next.js는 AI가 정말 자주 택하는 스택이고요. 그래서 그 Next.js로 만든 앱을 서버에 올릴 때 생기는 자잘한 삽질 포인트가 가장 적습니다. 라우팅, 서버리스 함수, 빌드 설정 같은 것들이요. 결국 바이브 코딩으로 만든 결과물을 일단 인터넷에 띄우기엔 기본값에 가깝습니다.
게다가 Vercel의 진짜 강점은 GitHub 연동에서 느껴집니다. 한 번 연결해두면 push할 때마다 자동 배포가 돌아갑니다. 그리고 PR을 만들면 프리뷰 URL이 자동으로 생깁니다. 파일 공유가 아니라 링크 하나 던지는 일로 업데이트를 돌릴 수 있습니다.
무료 티어도 MVP 단계에선 꽤 든든합니다. 서버리스 함수나 엣지 런타임(사용자와 가까운 곳에서 실행되는 환경)까지 포함하고요.
좀 더 와닿게 말하면, AI가 잘 다루는 스택과 가장 가깝기 때문에 위의 용어를 하나도 몰라도 돈을 내지 않고 앱을 돌릴 수 있다는 겁니다. 그래서 초반엔 서버를 어디에, 어떻게 올릴지 같은 운영 결정을 뒤로 미룰 수 있습니다. 만들고, 보여주고, 반응을 보는 흐름이 끊기지 않습니다.
Supabase는 한마디로 백엔드 올인원 세트입니다. PostgreSQL 기반 DB를 중심에 두고, 인증, 스토리지, 실시간 기능, Edge Function까지 한 덩어리로 제공합니다. 그러니까 백엔드에서 필요한 부품들을 따로 주문해 조립하는 대신 패키지로 바로 받아 쓰는 느낌입니다. 바이브 코딩에선 이 한 덩어리가 정말 중요합니다.
처음엔 원조 격인 Firebase의 대안으로 많이 언급됐지만, 방향성이 다릅니다. 무엇보다 Supabase는 SQL 기반이라 데이터 구조를 바꾸거나, 원하는 형태로 조회하는 게 더 유연합니다. 서비스가 커질수록 데이터는 복잡해지는데, 그때 처음 선택 때문에 막히는 일이 상대적으로 덜합니다. 그래서 지금은 많은 팀이 사실상 기본 선택지처럼 씁니다.
또 하나는 AI 기능과의 결입니다. Supabase는 pgvector로 임베딩(문장이나 이미지의 의미를 숫자로 바꾼 값) 저장도 가능합니다. 2026년 앱은 AI 기능 하나쯤은 붙이자가 흔한 요구가 됐습니다. 그런 상황에서 Supabase는 처음부터 그 방향을 염두에 둔 느낌이 납니다.
더 자세한 것은 Supabase는 요즘 왜 그렇게 인기가 많을까? 콘텐츠에서 확인할 수 있습니다.
사실 이 조합이 표준 스택이 되는 과정엔 기술적 특징만 있었던 것은 아닙니다. AI 코딩 도구들이 무엇을 기본값으로 채택하느냐가 큽니다. Cursor, Lovable, Bolt.new, v0 같은 도구들이 Supabase를 백엔드로 적극 쓰면서 생성되는 코드 패턴이 점점 비슷해졌기 때문입니다. 이처럼 많이 쓰이는 조합은 더 많이 복제되고, 더 빠르게 표준이 됩니다.
여기서 중요한 건 AI가 이 스택을 유독 잘한다가 아니라, 자주 본 걸 더 잘한다는 점입니다. Supabase와 Vercel은 이미 많은 예제와 프로젝트에서 반복된 패턴입니다. 그래서 “배포해줘”, “로그인 붙여줘”, “DB에 저장해줘” 같은 요청을 던졌을 때 성공률이 올라갑니다.
마지막으로 운영 마찰도 더 내려가고 있습니다. Supabase는 MCP 서버를 통해 자연어로 DB 작업을 돕는 흐름이 커지고 있습니다. 스키마를 만들고, 수정하고, 관리하는 작업이 대시보드 클릭에서 말로 지시하는 수준까지 넘어가는 겁니다. 결국 Vercel + Supabase가 표준이 된 건, 편해서이기도 하지만 AI 시대에 가장 잘 맞는 반복 패턴이 됐기 때문입니다.
아, 하나 더 있습니다. 이들이 제공하는 무료 티어로 배포하면 '처음에는' 돈이 안 드는 것처럼 느껴진다는 겁니다.
MVP 단계에서는 유저가 적을수록 돈을 쓰지 않는 게 맞습니다. 기능이 완벽해서가 아니라 “이게 진짜 필요한가?”를 확인하는 구간이기 때문입니다. 그래서 가설 검증 단계에서 서버비는 0원이 이상적이라는 말에 1인 개발자들이 고개를 끄덕이죠. 그럼 의문이 생깁니다. AI가 하라는 대로 연결한 이 서비스들은 0원으로 어디까지 버텨줄까요?

Vercel의 Hobby 플랜은 MVP에 필요한 대부분을 무료로 커버합니다. 제공 한도는 대역폭 100GB/월, 서버리스 함수 실행 100GB-시간, 빌드 6,000분/월입니다. 랜딩 페이지, 대시보드, 그리고 간단한 CRUD API 정도라면 여기서 막힐 일이 많지 않습니다. 쉽게 말해 웹앱 한 벌을 만들고 보여주기까지는 Vercel이 꽤 오래 버텨줍니다.
다만 첫 번째 경고등은 보통 이미지나 대용량 파일에서 켜집니다. 파일을 Vercel 쪽으로 무리하게 보내면 비용이나 제한이 예상보다 빨리 다가올 수 있습니다. 이 지점이 자연스럽게 다음 병목으로 이어집니다. 결국 문제는 유저 수가 아니라 스토리지와 대역폭입니다.
아참. 가장 꼭 알아야 할 것이 있습니다. Vercel Hobby 플랜은 개인이나 비상업 목적에서만 무료 배포를 지원합니다. 애초에 상업적인 목적이라면, 어느 정도는 돈을 지불할 생각을 해야 합니다.
Supabase Free 플랜은 숫자만 보면 꽤 관대해 보입니다. DB 500MB, 인증 MAU 5만, 스토리지 1GB, Edge 함수 50만 호출/월, DB 전송량 2GB가 기본으로 제공됩니다. 여기서 포인트는 인증 MAU가 넉넉하다는 점입니다. 즉 사용자가 늘어난다고 바로 막히는 구조는 아닙니다.
대신 더 자주 밟는 함정은 따로 있습니다. 7일 동안 활동이 없으면 프로젝트가 자동 일시정지된다는 정책입니다. 이건 서비스가 조용한 초기에는 꽤 성가신 마찰이 됩니다. 해결은 두 갈래입니다. 유저가 생기면 자연스럽게 해결되거나, 초기에는 크론이나 헬스체크로 가끔 깨워두기를 선택하면 됩니다.
Supabase에서 가장 먼저 뚫릴 가능성이 큰 건 5GB 대역폭인데, 보통 이건 스토리지 사용 패턴 때문에 넘칩니다. 반대로 말하면 사용자 수백 명 수준에서는 0원으로도 충분히 굴러간다는 겁니다. 무료 티어를 뚫을 만큼 트래픽이 나온다면, 그건 실패가 아니라 성공 신호에 가깝습니다. 그때가 바로 Supabase Pro($25) 결제를 ‘양심적으로’ 고민할 타이밍입니다.
물론 이렇게 Vercel + Supabase는 "대부분의" 바이브 코딩 앱에 잘 맞습니다. 하지만 당연히 모든 구조의 앱에 최적화된 건 아니겠죠. 기능이 단순하거나, 반대로 런타임 제약이 빡세면 이 조합이 오히려 발목을 잡습니다. 이럴 때는 대체가 아니라 조건별로 스택을 갈아 끼우는 감각이 필요합니다.

앱이 아니라 정적 사이트만 필요할 때가 있습니다. 예를 들어 제품 소개 랜딩, 문서 사이트, 포트폴리오처럼 “페이지 보여주기”가 전부인 경우죠. 이런 경우엔 Vercel보다 Cloudflare Pages가 마음이 편합니다. 요청 수나 대역폭이 사실상 무제한에 가까운 무료 정책이라 일단 올려두기에 부담이 적습니다.
여기서 포인트는 “Supabase가 꼭 필요하냐”입니다. 랜딩 페이지에서 필요한 건 대개 DB가 아니라 문의 폼 정도입니다. 이건 외부 폼 서비스로 받거나, 아주 얇은 서버리스로 대체할 수 있습니다. 그러면 백엔드까지 세팅하는 배포가 아니라 백엔드 없는 배포로 끝낼 수 있습니다.

반대로, Vercel + Supabase로는 답이 안 나오는 순간도 있습니다. 대표적인 경우가 Python/FastAPI를 꼭 돌려야 할 때입니다. Next.js의 API Route로 감당이 안 되거나, 이미 쌓아둔 Python 코드가 있을 때가 그렇습니다. 특히 ML 추론 서버처럼 항상 떠 있어야 하는 프로세스가 있으면, 배포 방식 자체를 바꿔야 할 때가 있습니다.
이럴 때 Railway는 작게 굴리기에 적합합니다. 월 $5 크레딧 기반이라 트래픽이 크지 않은 초기에는 부담이 덜합니다.(이말인즉 무료는 아니라는 겁니다) 일단 적은 돈으로 돌아가게 만들고 비용이 보이면 그때 구조를 다듬는 흐름에 잘 맞습니다.
Render는 더 가볍게 체험하기 좋습니다. 무료 인스턴스가 가능하지만, 대신 콜드 스타트(한동안 안 쓰면 잠들었다가, 호출 시 느리게 깨어남)가 있습니다. 그래서 데모나 테스트에는 괜찮아도 사용자가 상시 접속하는 서비스라면 주의가 필요합니다. '가끔 느려도 되는가'가 선택 기준입니다.

Vercel이 싫어서가 아니라, 무료 한도가 아슬아슬해지는 순간이 있습니다. 그때는 같은 카테고리의 대체재로 Netlify를 먼저 떠올릴 수 있습니다. 포지션이 비슷해서, 마이그레이션 난이도도 비교적 낮은 편입니다.
또 하나의 갈래는 Cloudflare Workers + Pages 조합입니다. 프론트는 Pages에 두고, 가벼운 백엔드는 Workers로 붙이는 방식이죠. 쉽게 말해 서버를 한 곳에 크게 세우는 대신, 사용자 가까운 곳(엣지)에 얇게 배치하는 선택입니다. 비용과 성능의 균형을 노릴 때 검토할 만합니다.
여기서도 기준은 하나입니다. “무조건 Vercel을 버리자”가 아니라, AI 코딩 결과물이 어느 스택에 더 자주 맞춰 나오느냐를 봐야 합니다. 바이브 코딩 배포의 핵심은, 내가 코드를 다 이해하기 전에라도 일단 돌아가게 만드는 데 있으니까요. 그래서 조건부 전환이 가장 안전합니다.
2026년 기준으로 보면, 바이브 코딩으로 만든 앱을 0원에 가깝게 배포하는 가장 현실적인 조합은 Vercel + Supabase입니다. GitHub에 push만 해도 자동으로 빌드·배포가 돌고, URL이 바로 생깁니다. 무료 티어도 MVP를 검증하기엔 대체로 충분합니다. 그래서 일단 사용자를 만나러 나가는 속도만 놓고 보면, 이 조합이 지금 가장 표준에 가깝습니다.
이 배포 방식이 갖는 의미는 분명합니다. 완벽한 아키텍처를 세우기 전에 가장 빠르게 배포해서 사용자 반응을 보는 것. 그게 바이브 코딩 배포의 본질입니다. 대신 트래픽, 보안, 비용 최적화 같은 서비스 레벨의 문제는, 그다음 단계에서 완전히 다른 난이도로 다시 만날 것을 각오해야 합니다.
게다가요, 배포는 사실 끝이 아니라 실험의 시작입니다. URL을 띄웠다면 이제 다음 질문은 하나로 모입니다. “이 앱으로 어떻게 돈을 벌어보지?” 그렇게 다음 눈은 결국 결제로 갑니다. 그 단계는 다음 글에서 다시 이어가겠습니다.
©️요즘IT의 모든 콘텐츠는 저작권법의 보호를 받는 바, 무단 전재와 복사, 배포 등을 금합니다.