"이 아이디어 데모로 만드는 데 얼마나 걸릴까요?" 제가 가장 자주 받는 질문입니다. 답은 보통 2~3시간. 풀어진 제품을 만드는 게 아니라 "보여줄 수 있는 수준의 동작 화면"을 만든다는 전제에서요. 같은 시간을 반복 투자해 수십 번 이상 재현한 플로우를 그대로 공개합니다.
전제 조건 — 시작 전에 정리돼야 할 것
- 핵심 사용자 시나리오 1개: "어떤 사람이 어떤 상황에서 어떤 결과를 얻는가"가 한 문장으로 말해져야 합니다. 말할 수 없으면 아직 데모 시작 못 함.
- 3~4개의 화면: 랜딩(1) + 진입/입력(1) + 결과(1). 그 이상은 데모가 아니라 MVP 범위.
- 데이터 흐름 스케치: 사용자가 입력한 것을 서버가 어떻게 받아 무엇을 되돌려주는지. 손으로 5분 안에 그릴 수 있어야 합니다.
준비되는 도구 스택 (미리 깔아둬야 함)
- 프론트: SvelteKit + Tailwind. Next.js도 가능하지만 SvelteKit이 초기 설정이 더 빠릅니다.
- 백엔드: FastAPI + SQLite. 프로토타입 단계에선 PostgreSQL까지 필요 없습니다.
- 에이전트: Claude Code 세션. 1M 컨텍스트 덕에 한 세션으로 끝까지 진행 가능.
- 배포: Vercel(프론트) + Fly.io/Railway(백엔드). 둘 다 무료 티어에서 데모 공개 가능.
0~30분 — 범위 고정과 스캐폴딩
Claude Code에 한 문단으로 요청합니다. "이런 사용자가 이런 플로우로 이런 결과를 얻는 데모를 SvelteKit + FastAPI로 만들어줘. 테이블은 이렇게 3개, 라우트는 이렇게 4개." 구체적으로 적을수록 생성되는 뼈대가 정확합니다. 보통 20~25분이면 라우트·컴포넌트·API·DB 스키마 초안이 깔립니다.
이 시점에 npm run dev와 uvicorn이 둘 다 돌면서 기본 화면이 열려야 합니다. 안 돌면 거기서 먼저 멈추고 바로잡으세요. 이걸 끌고 가면 이후 모든 작업이 느려집니다.
30~90분 — 핵심 기능 구현
가장 중요한 사용자 시나리오 1개만 끝까지 돌립니다. 폼 → API → 저장 → 결과 표시. 저는 이 단계에서 Claude Code에 "mock 데이터로 먼저 화면이 끝까지 돌게 만들고, 그다음 API를 붙여줘" 순서를 지시합니다. 화면이 먼저 동작하는 걸 봐야 심리적 동력이 유지됩니다.
이 단계에서 완성도의 기준은 "친구에게 보여줬을 때 30초 안에 뭘 하는지 이해되는가"입니다. 버튼 색·정렬·간격이 아니라 정보 위계입니다.
90~150분 — 톤 다듬기와 마무리
기능은 건드리지 않고 카피·빈 상태 안내·에러 메시지만 고칩니다. "준비 중입니다"를 "시작하려면 아래 버튼을 눌러주세요"로 바꾸는 식. 여기서 30분이 데모의 인상을 결정합니다.
배포는 별도 30분. Vercel에 프론트를 올리고, Fly.io에 백엔드를 배포합니다. 도메인 연결은 이미 돼있다는 전제(아직 없으면 15분 추가). SSL은 두 플랫폼이 자동 처리해줘서 따로 신경 쓸 필요 없습니다.
단축 포인트 — 시간을 훔쳐오는 법
- 인증은 쓰지 마세요 — 데모에 로그인 기능은 거의 필요 없습니다. 쓰면 2시간 증발.
- 결제도 금지 — Stripe 같은 거 붙이면 당일 안에 끝나지 않습니다. 결제가 핵심인 서비스라면 "결제 성공 화면만" mock.
- 디자인 시스템 가져다 쓰기 — shadcn/ui, Flowbite 등에서 필요한 컴포넌트만 복사. 처음부터 디자인하지 마세요.
- Claude Code에 테스트 코드까지 맡기기 — "이 기능의 테스트도 같이 작성해줘"는 자동으로 검증 단계가 붙어 실수 감소.
데모 이후의 루프
데모 링크가 생기면 최소 3명에게 보여주세요. 클릭 한 번에 뭘 기대하는지 관찰하고, 거기서 막히면 UX 수정 포인트가 나옵니다. 한 번에 완성된 MVP를 목표로 하지 말고, 2시간짜리 데모 → 1주일짜리 MVP → 1개월짜리 실제 서비스 순서로 해상도를 올리는 게 가장 실패가 적은 루트입니다.
2~3시간이라는 숫자는 마법이 아닙니다. 범위를 극단적으로 좁히고, 결정된 도구 스택을 반복하고, 말로 시킬 수 있는 부분은 전부 말로 시키는 훈련의 결과입니다. 이번 주말에 한 번만 해보세요. 다음부터는 감이 붙습니다.