ai-startup
CHAPTER 12 / 100
읽기 약 2분
FUNCTION
0원 MVP: Vercel + Supabase + 무료 AI
핵심 개념
무료 도구 조합·한도·실전 셋업 — 100K MAU까지 $0.
본문
무료 스택 (총 $0)
[호스팅]
- Vercel Hobby
· 100GB bandwidth
· 6,000 build minutes
· 무제한 deployments
[DB + Auth]
- Supabase Free
· 500MB DB
· 50K Monthly Active Users
· 1GB Storage
· 200 동시 Realtime
[AI]
- Google AI Studio (Gemini 2.5 Flash)
· 무료 쿼터
· 이미지·텍스트 모두
- Groq (LLM 빠른 추론)
· 무료 30 req/min
- Cloudflare Workers AI
· 10K req/day 무료
[도메인]
- Cloudflare Registrar
· $10/year (.com)
· 와일드카드 SSL 무료
[CDN·DNS]
- Cloudflare
· 무제한 트래픽
· DDoS 방어
[이메일 (트랜잭션)]
- Resend
· 3,000/month 무료
- Brevo
· 300/day 무료
[분석]
- Vercel Analytics 무료
- PostHog Cloud 무료 (1M events/mo)
[모니터]
- Sentry 무료 (5K events/mo)
→ 0~10K MAU 사이트 = 진짜 $0셋업 (30분)
# 1. Next.js 생성
pnpm create next-app@latest my-app --typescript --tailwind --app
# 2. Supabase 셋업
pnpm add @supabase/supabase-js @supabase/ssr
# Supabase 콘솔에서 새 프로젝트
# .env.local
NEXT_PUBLIC_SUPABASE_URL=https://xxx.supabase.co
NEXT_PUBLIC_SUPABASE_ANON_KEY=xxx
SUPABASE_SERVICE_ROLE_KEY=xxx (서버만)
# 3. AI SDK
pnpm add ai @ai-sdk/google
# .env.local
GOOGLE_GENERATIVE_AI_API_KEY=xxx
# 4. Vercel 배포
pnpm dlx vercel
# → main push 시 자동 배포Supabase Auth + DB
// lib/supabase/client.ts
import { createBrowserClient } from '@supabase/ssr';
export function createClient() {
return createBrowserClient(
process.env.NEXT_PUBLIC_SUPABASE_URL!,
process.env.NEXT_PUBLIC_SUPABASE_ANON_KEY!,
);
}
// 회원가입
const supabase = createClient();
const { data, error } = await supabase.auth.signUp({
email,
password,
options: { data: { name } },
});
// DB CRUD (RLS 자동 적용)
const { data: posts } = await supabase
.from('posts')
.select('*')
.eq('user_id', user.id);AI 통합 (Vercel AI SDK)
import { google } from '@ai-sdk/google';
import { streamText } from 'ai';
// app/api/chat/route.ts
export async function POST(req: Request) {
const { messages } = await req.json();
const result = streamText({
model: google('gemini-2.5-flash'),
messages,
});
return result.toDataStreamResponse();
}
// 클라이언트
'use client';
import { useChat } from 'ai/react';
export function Chat() {
const { messages, input, handleSubmit, handleInputChange } = useChat();
return (
<div>
{messages.map(m => <div key={m.id}>{m.role}: {m.content}</div>)}
<form onSubmit={handleSubmit}>
<input value={input} onChange={handleInputChange} />
</form>
</div>
);
}비용 한도 — 언제 유료로?
[Vercel Hobby → Pro $20]
- Bandwidth 80GB/100GB 도달
- 협업 멤버 필요
- 비밀번호 보호 필요
[Supabase Free → Pro $25]
- DB 400MB 도달 (백업 필요)
- 진성 사용자 100+ (운영 데이터)
- 7일 백업 필요
[Gemini Free → 유료]
- 무료 쿼터 부족
- 일관된 응답 시간 필요
- 모델 업그레이드
→ 진짜 사용자 시작 = Pro 즉시
→ MVP·검증 단계 = 무료 끝까지한도 모니터링
// 매일 한도 체크 (cron)
async function checkLimits() {
// Vercel — Dashboard에서 알림 설정
// Supabase — Dashboard
// - DB size / 500MB
// - Auth users / 50K
// - Storage / 1GB
// 80% 도달 시 알림
// → Pro 전환 결정
}
// 또는 Vercel Spend Limit
// Settings → Billing → Spend Management
// → 월 $50 한도 (Pro 사용 시)다음 챕터
CH.13 "랜딩 페이지: 30분 만에 만들기".
AI 프롬프트
🤖 AI에게 잘 물어보는 법 — 모델·전략별 프롬프트
무료
월 $0 — 검증·시작 단계
0원 MVP을 무료 도구만으로 시작하는 방법을 알려줘.
소자본
월 $20~50 — MVP·초기 운영
월 $20~50 예산으로 0원 MVP을 검증·MVP 단계까지 진행하는 전략은?
프로덕션
월 $200~500 — 성장 단계
0원 MVP을 프로덕션 단계로 확장할 때 필요한 도구·운영 체계는?
스택
풀스택 — 도구 조합 분석
2026년 0원 MVP 관련 도구 5개를 조합한 추천 스택을 알려줘.
⭐ 이것만 기억하세요
0원 MVP: Vercel + Supabase + 무료 AI는 이 3가지만 확실히 잡으세요
1.$0 스택 = Vercel + Supabase + Gemini + Cloudflare — 100K MAU 가능
2.진성 사용자 시작 = Pro 즉시 (백업·안정성)
3.AI는 Gemini Flash 무료부터 → 사용량 보고 결정
공유하기
진행도 12 / 100