모듈 E: 실행 플레이북
STREETS 개발자 수입 과정 — 유료 모듈 9-10주차 | 6개 강의 | 결과물: 첫 번째 제품, 라이브 상태로 결제 수락 중
"아이디어에서 배포까지 48시간. 과도한 생각은 없습니다."
인프라가 있습니다(모듈 S). 해자가 있습니다(모듈 T). 수익 엔진 설계가 있습니다(모듈 R). 이제 출시할 시간입니다.
이 모듈은 대부분의 개발자가 도달하지 못하는 곳입니다 — 어렵기 때문이 아니라, 아직 코드베이스를 다듬고, 아키텍처를 리팩터링하고, 색상 팔레트를 조정하고 있기 때문입니다. 정말 중요한 것을 제외한 모든 것을 하고 있습니다: 돈을 지불할 수 있는 사람 앞에 제품을 놓는 것 말입니다.
출시는 스킬입니다. 모든 스킬과 마찬가지로, 연습하면 쉬워지고 미루면 어려워집니다. 기다리면 기다릴수록 더 어려워집니다. 출시하면 할수록 덜 무서워집니다. 첫 번째 출시는 지저분할 것입니다. 그것이 포인트입니다.
이 2주가 끝나면, 다음을 갖게 됩니다:
- 실제 수요 신호에 대해 테스트된 검증된 제품 아이디어
- 실제 도메인을 통해 접근 가능한 라이브 배포된 제품
- 실제 돈을 받는 결제 처리
- 타겟 오디언스가 모이는 플랫폼에서 최소 1회의 공개 출시
- 다음 행동을 안내하는 출시 후 메트릭 시스템
가설이 아닙니다. "이론적으로"가 아닙니다. 실제 제품이 인터넷에 라이브로, 수익을 창출할 수 있는 상태입니다.
모듈 R을 아직 완료하지 않았더라도 이 모듈을 사용할 수 있습니다 — 하지만 수익 엔진 설계가 준비되어 있으면 48시간 스프린트가 훨씬 더 순조로울 것입니다.
만들어 봅시다.
강의 1: 48시간 스프린트
"토요일 아침부터 일요일 밤까지. 제품 하나. 변명 없음."
왜 48시간인가
파킨슨의 법칙에 따르면 일은 사용 가능한 시간에 맞춰 팽창합니다. 제품을 만드는 데 6개월을 주면 5개월을 고민하고 1개월을 스트레스 속에서 미친 듯이 보낼 것입니다. 48시간을 주면 결정을 내리고, 범위를 무자비하게 줄이고, 실제로 작동하는 것을 출시할 것입니다.
48시간 제약은 완벽한 것을 만들기 위한 것이 아닙니다. 존재하는 것을 만들기 위한 것입니다. 존재는 항상 완벽을 이깁니다. 왜냐하면 라이브 제품은 데이터를 생성하기 때문입니다 — 누가 방문하고, 누가 클릭하고, 누가 지불하고, 누가 불평하는지 — 그리고 데이터가 다음에 무엇을 만들어야 하는지 알려줍니다.
제가 연구한 모든 성공적인 개발자 제품은 이 패턴을 따랐습니다: 빠르게 출시하고, 빠르게 배우고, 빠르게 반복합니다. 실패한 것들은요? 모두 아름다운 README 파일을 가지고 있었고 사용자는 0명이었습니다.
다음은 분 단위 플레이북입니다.
1일차 — 토요일
오전 블록 (4시간): 수요 검증
코드를 한 줄도 작성하기 전에, 당신 외에 누군가가 이것을 원한다는 증거가 필요합니다. 확신이 아닙니다 — 증거입니다. 차이가 중요합니다. 확신은 불가능합니다. 증거는 4시간 안에 얻을 수 있습니다.
단계 1: 검색량 확인 (45분)
다음 출처에 접속하여 제품 아이디어와 관련 용어를 검색합니다:
- Google Trends (https://trends.google.com) — 무료. 시간에 따른 상대적 검색 관심도를 보여줍니다. 하락하는 선이 아닌 평평하거나 상승하는 선을 보고 싶습니다.
- Ahrefs Free Webmaster Tools (https://ahrefs.com/webmaster-tools) — 사이트 인증으로 무료. 키워드 볼륨을 보여줍니다.
- Ubersuggest (https://neilpatel.com/ubersuggest/) — 무료 플랜으로 하루 3회 검색 가능. 검색량, 난이도, 관련 용어를 보여줍니다.
- AlsoAsked (https://alsoasked.com) — 무료 플랜. Google의 "다른 사람들이 묻는 질문" 데이터를 보여줍니다. 사람들이 실제로 어떤 질문을 하는지 알 수 있습니다.
찾고 있는 것:
좋은 신호:
- 핵심 키워드 월간 검색수 500+
- 지난 12개월간 상승 추세
- 좋은 답변이 없는 "다른 사람들이 묻는 질문"이 여러 개
- 경쟁이 낮은 관련 롱테일 키워드
나쁜 신호:
- 검색 관심도 하락
- 검색량이 0 (아무도 이것을 찾지 않음)
- 1페이지가 대기업에 의해 지배됨
- 검색 용어에 변형이 없음 (너무 좁음)
실제 예시: 모듈 R의 수익 엔진 아이디어가 "SaaS 대시보드용 Tailwind CSS 컴포넌트 라이브러리"라고 합시다.
검색: "tailwind dashboard components" — 월 2,900, 상승 추세
검색: "tailwind admin template" — 월 6,600, 안정
검색: "react dashboard template tailwind" — 월 1,300, 상승
관련: "shadcn dashboard", "tailwind analytics components"
판정: 수요가 강합니다. 다양한 키워드 각도가 있습니다. 진행합니다.
또 다른 예시: 아이디어가 "Rust 기반 로그 파일 익명화 도구"라고 합시다.
검색: "log file anonymizer" — 월 90, 횡보
검색: "anonymize log files" — 월 140, 횡보
검색: "PII removal from logs" — 월 320, 상승
관련: "GDPR log compliance", "scrub PII from logs"
판정: 니치이지만 성장 중. "PII removal" 각도가 "anonymizer"
각도보다 볼륨이 더 큽니다. 포지셔닝을 재설정합니다.
단계 2: 커뮤니티 스레드 마이닝 (60분)
개발자들이 무언가를 요청하는 곳으로 가서 여러분의 문제 영역을 검색합니다:
- Reddit: r/webdev, r/reactjs, r/selfhosted, r/SideProject, r/programming, 그리고 여러분의 도메인과 관련된 니치 서브레딧에서 검색
- Hacker News: https://hn.algolia.com 을 사용하여 과거 토론 검색
- GitHub Issues: 여러분의 영역과 관련된 인기 저장소의 이슈 검색
- Stack Overflow: 업보트는 많지만 수락된 답변이 만족스럽지 않은 질문 검색
- Discord 서버: 관련 개발자 커뮤니티 서버 확인
기록할 내용:
## 스레드 마이닝 결과
### 스레드 1
- **출처:** Reddit r/reactjs
- **URL:** [링크]
- **제목:** "Is there a good Tailwind dashboard kit that isn't $200?"
- **업보트:** 147
- **댓글:** 83
- **핵심 인용:**
- "Everything on the market is either free and ugly, or $200+ and overkill"
- "I just need 10-15 well-designed components, not 500"
- "Would pay $49 for something that actually looks good out of the box"
- **핵심 포인트:** $200+에 대한 가격 민감도, $29-49에서 지불 의향
### 스레드 2
- ...
최소 5개의 스레드를 찾아야 합니다. 여러분의 제품 영역에서 무언가를 요청하는 5개의 스레드를 찾을 수 없다면, 심각한 경고 신호입니다. 수요가 존재하지 않거나, 잘못된 용어로 검색하고 있는 것입니다. 아이디어를 포기하기 전에 다른 키워드를 시도해 보십시오.
단계 3: 경쟁사 조사 (45분)
이미 존재하는 것을 검색합니다. 이것은 기운을 빠지게 하는 것이 아닙니다 — 검증입니다. 경쟁자가 있다는 것은 시장이 있다는 뜻입니다. 경쟁자가 없다는 것은 보통 블루오션을 찾은 것이 아니라, 시장이 없다는 뜻입니다.
각 경쟁자에 대해 기록합니다:
## 경쟁사 조사
### 경쟁사 1: [이름]
- **URL:** [링크]
- **가격:** $XX
- **그들이 잘하는 것:** [구체적인 사항]
- **그들의 문제점:** [리뷰/스레드에서의 구체적인 불만]
- **그들의 리뷰:** [G2, ProductHunt 리뷰, Reddit 언급 확인]
- **나의 각도:** [어떻게 다르게 할 것인지]
### 경쟁사 2: [이름]
- ...
금맥은 "그들의 문제점"에 있습니다. 경쟁사에 대한 모든 불만은 여러분의 제품에 대한 기능 요청입니다. 사람들이 문자 그대로 무엇을 만들어야 하고 얼마를 받아야 하는지 알려주고 있습니다.
단계 4: "10명이 지불할 것" 테스트 (30분)
이것은 마지막 검증 관문입니다. 최소 10명이 이것에 돈을 지불할 것이라는 증거가 필요합니다. "관심을 표현했다"가 아닙니다. "멋지다고 했다"가 아닙니다. 지불할 것이라는 증거입니다.
증거 출처:
- Reddit 스레드에서 "X에 돈을 지불하겠다"고 말하는 사람들 (가장 강한 신호)
- 유료 고객이 있는 경쟁 제품 (시장이 지불한다는 것을 증명)
- 여러분의 영역에 있는 Gumroad/Lemon Squeezy 제품 중 판매 건수가 보이는 것
- 관련 문제를 해결하는 1,000+ 스타의 GitHub 저장소 (사람들이 스타를 줄 만큼 가치를 느낌)
- 여러분의 자체 오디언스가 있다면 (트윗하기, 10명에게 DM, 직접 물어보기)
이 테스트를 통과했다면: 계속합니다. 만듭니다.
이 테스트를 통과하지 못했다면: 아이디어 전체가 아니라 각도를 전환합니다. 수요가 인접한 영역에 존재할 수 있습니다. 포기하기 전에 다른 포지셔닝을 시도합니다.
솔직한 이야기: 대부분의 개발자는 코딩을 하고 싶기 때문에 검증을 완전히 건너뜁니다. 아무도 요청하지 않은 것을 200시간 동안 만들고, 왜 아무도 사지 않는지 의아해합니다. 이 4시간의 리서치가 196시간의 헛된 노력을 절약해 줄 것입니다. 건너뛰지 마십시오. 코드는 쉬운 부분입니다.
오후 블록 (4시간): MVP 구축
수요를 검증했습니다. 경쟁사 리서치가 있습니다. 사람들이 무엇을 원하고 기존 솔루션에 무엇이 부족한지 알고 있습니다. 이제 핵심 문제를 해결하는 최소 버전을 만듭니다.
3기능 법칙
v0.1에는 정확히 3개의 기능이 있습니다. 4개가 아닙니다. 7개가 아닙니다. 3개입니다.
선택 방법:
- 제품이 하는 한 가지는 무엇입니까? (기능 1 — 코어)
- 사용할 수 있게 만드는 것은 무엇입니까? (기능 2 — 보통 인증, 저장/내보내기, 설정)
- 대안보다 지불할 가치가 있게 만드는 것은 무엇입니까? (기능 3 — 차별화 요소)
나머지는 모두 "v0.2" 목록에 넣고 이번 주말에는 건드리지 않습니다.
실제 예시 — Tailwind 대시보드 컴포넌트 라이브러리:
- 코어: 12개의 프로덕션 준비 대시보드 컴포넌트 (차트, 테이블, 통계 카드, 네비게이션)
- 사용성: 라이브 프리뷰가 포함된 복사-붙여넣기 코드 스니펫
- 차별화: 다크 모드 내장, 컴포넌트가 함께 작동하도록 설계 (무작위 모음이 아님)
실제 예시 — PII 로그 스크러버 CLI 도구:
- 코어: 로그 파일에서 PII 감지 및 삭제 (이메일, IP, 이름, SSN)
- 사용성: CLI 파이프로 동작 (
cat logs.txt | pii-scrub > clean.txt) - 차별화: 설정 가능한 규칙 파일, 15+ 로그 형식 자동 처리
프로젝트 스캐폴드하기
LLM을 사용하여 작업을 가속화합니다. 대체가 아닌 가속입니다. 실용적인 워크플로우는 다음과 같습니다:
# 웹 앱 스캐폴드 (SaaS 도구, 문서 사이트가 있는 컴포넌트 라이브러리 등)
pnpm create vite@latest my-product -- --template react-ts
cd my-product
pnpm install
# Tailwind CSS 추가 (개발자 제품에서 가장 일반적)
pnpm install -D tailwindcss @tailwindcss/vite
# 여러 페이지가 필요하면 라우팅 추가
pnpm install react-router-dom
# 프로젝트 구조 — 48시간 빌드에서는 플랫하게 유지
mkdir -p src/components src/pages src/lib
# CLI 도구 스캐폴드 (개발자 유틸리티용)
cargo init my-tool
cd my-tool
# CLI 도구의 일반적인 의존성
cargo add clap --features derive # 인수 파싱
cargo add serde --features derive # 직렬화
cargo add serde_json # JSON 처리
cargo add anyhow # 에러 처리
cargo add regex # 패턴 매칭
# npm 패키지 스캐폴드 (라이브러리/유틸리티용)
mkdir my-package && cd my-package
pnpm init
pnpm install -D typescript tsup vitest
mkdir src
빌드를 위한 LLM 워크플로우
LLM에게 전체 제품을 만들어 달라고 하지 마십시오. 그렇게 하면 범용적이고 취약한 코드가 생성됩니다. 대신:
- 여러분이 아키텍처를 작성합니다: 파일 구조, 데이터 흐름, 핵심 인터페이스
- LLM이 보일러플레이트를 생성합니다: 반복적인 컴포넌트, 유틸리티 함수, 타입 정의
- 여러분이 핵심 로직을 작성합니다: 제품을 차별화하는 부분
- LLM이 테스트를 생성합니다: 유닛 테스트, 엣지 케이스, 통합 테스트
- 여러분이 모든 것을 검토하고 편집합니다: 여러분의 이름이 이 제품에 달려 있습니다
코딩 중 병렬 작업: 두 번째 LLM 채팅을 열고 랜딩 페이지 카피, README, 문서 초안을 작성하게 합니다. 저녁에 편집하겠지만, 첫 번째 초안은 준비되어 있을 것입니다.
시간 규율
오후 2:00 — 기능 1 (핵심 기능): 2시간
오후 4시까지 동작하지 않으면 범위를 줄입니다.
오후 4:00 — 기능 2 (사용성): 1시간
단순하게 유지합니다. 세련됨은 나중에 출시합니다.
오후 5:00 — 기능 3 (차별화 요소): 1시간
이것이 지불할 가치를 만드는 것입니다. 여기에 집중합니다.
오후 6:00 — 코딩을 멈춥니다. 완벽할 필요가 없습니다.
흔한 실수: "멈추기 전에 기능 하나만 더." 이것이 주말 프로젝트를 월 단위 프로젝트로 만드는 방법입니다. 3개의 기능이 여러분의 범위입니다. 빌드 중에 좋은 아이디어가 떠오르면, v0.2 목록에 적고 계속 진행하십시오. 유료 고객이 생긴 후 다음 주에 추가할 수 있습니다.
저녁 블록 (2시간): 랜딩 페이지 작성
랜딩 페이지의 일은 하나입니다: 방문자를 설득하여 지불하게 하는 것. 아름다울 필요가 없습니다. 명확해야 합니다.
5섹션 랜딩 페이지
성공하는 모든 개발자 제품 랜딩 페이지는 이 구조를 따릅니다. 재발명하지 마십시오:
섹션 1: 헤드라인 + 서브헤드라인
- 8단어 이하로 무엇을 하는지
- 누구를 위한 것이며 어떤 결과를 얻는지
섹션 2: 문제
- 타겟 고객이 인식하는 3가지 페인 포인트
- 스레드 마이닝에서 가져온 그들의 정확한 언어 사용
섹션 3: 솔루션
- 제품 스크린샷 또는 코드 예시
- 위의 3가지 페인 포인트에 매핑된 3가지 기능
섹션 4: 가격
- 하나 또는 두 개의 티어. v0.1에서는 단순하게.
- 구독이라면 연간 결제 옵션.
섹션 5: CTA (행동 촉구)
- 버튼 하나. "시작하기", "지금 구매", "다운로드".
- 핵심 혜택 반복.
실제 카피 예시 — Tailwind 대시보드 키트:
# 섹션 1
## DashKit — 프로덕션 Tailwind 대시보드 컴포넌트
SaaS 대시보드를 몇 주가 아니라 몇 시간 만에 출시합니다.
복사-붙여넣기 12개 컴포넌트. 다크 모드. $29.
# 섹션 2
## 문제
- 범용 UI 키트는 500개 컴포넌트를 주지만 일관성은 없습니다
- 대시보드 UI를 처음부터 구축하면 40시간 이상 걸립니다
- 무료 옵션은 2018년 Bootstrap처럼 보입니다
# 섹션 3
## 포함 내용
- **12개 컴포넌트** 함께 작동하도록 설계 (무작위 모음이 아님)
- **다크 모드** 내장 — prop 하나로 토글
- **복사-붙여넣기 코드** — npm install 없음, 의존성 없음, 잠금 없음
[컴포넌트 예시 스크린샷]
# 섹션 4
## 가격
**DashKit** — $29 일회성 결제
- 전체 12개 컴포넌트와 소스 코드
- 12개월 무료 업데이트
- 무제한 프로젝트에서 사용
**DashKit Pro** — $59 일회성 결제
- DashKit의 모든 것
- 8개 풀 페이지 템플릿 (분석, CRM, 관리, 설정)
- Figma 디자인 파일
- 우선 기능 요청
# 섹션 5
## 이번 주말에 대시보드를 출시하십시오.
[DashKit 구매 — $29]
실제 카피 예시 — PII 로그 스크러버:
# 섹션 1
## ScrubLog — 몇 초 만에 로그 파일에서 PII 제거
로그의 GDPR 준수. 명령어 하나.
# 섹션 2
## 문제
- 로그에 저장하면 안 되는 이메일, IP, 이름이 들어 있습니다
- 수동 삭제는 몇 시간이 걸리고 누락이 생깁니다
- 엔터프라이즈 도구는 월 $500이며 설정하려면 박사 학위가 필요합니다
# 섹션 3
## 작동 방식
```bash
cat server.log | scrublog > clean.log
- 15+ PII 패턴 자동 감지
- YAML 설정으로 커스텀 규칙
- JSON, Apache, Nginx, 플레인텍스트 형식 처리 [전후 비교를 보여주는 터미널 스크린샷]
섹션 4
가격
Personal — 무료
- 5개 PII 패턴, 1개 로그 형식
Pro — $19/월
- 전체 15+ PII 패턴
- 전체 로그 형식
- 커스텀 규칙
- 팀 설정 공유
섹션 5
필요 없는 PII를 저장하지 마십시오.
[ScrubLog Pro 받기 — $19/월]
**카피를 위한 LLM 워크플로우:**
1. LLM에 경쟁사 조사와 스레드 마이닝 결과를 입력합니다
2. 5섹션 템플릿을 사용하여 랜딩 페이지 카피 초안을 요청합니다
3. 무자비하게 편집합니다: 모든 모호한 표현을 구체적인 것으로 바꿉니다
4. 소리 내어 읽어봅니다. 어떤 문장이든 민망하면 다시 씁니다.
**랜딩 페이지 구축:**
48시간 스프린트에서 커스텀 랜딩 페이지를 처음부터 만들지 마십시오. 다음 중 하나를 사용합니다:
- **제품 자체 사이트** — 웹 앱이라면 랜딩 페이지를 로그아웃 홈페이지로 만듭니다
- **Astro + Tailwind** — 정적 사이트, Vercel에 2분 만에 배포, 매우 빠름
- **Next.js** — 제품이 이미 React라면 마케팅 페이지 라우트를 추가합니다
- **Framer** (https://framer.com) — 비주얼 빌더, 깨끗한 코드 내보내기, 무료 티어 사용 가능
- **Carrd** (https://carrd.co) — 연 $19, 매우 간단한 원페이지 사이트
```bash
# 가장 빠른 경로: Astro 정적 사이트
pnpm create astro@latest my-product-site
cd my-product-site
pnpm install
# Tailwind 추가
pnpm astro add tailwind
토요일이 끝나기 전에 카피가 있는 랜딩 페이지가 있어야 합니다. 커스텀 일러스트가 필요 없습니다. 애니메이션도 필요 없습니다. 명확한 글과 구매 버튼이 필요합니다.
2일차 — 일요일
오전 블록 (3시간): 배포
제품이 실제 URL로 인터넷에 라이브되어야 합니다. localhost가 아닙니다. 무작위 해시가 붙은 Vercel 프리뷰 URL이 아닙니다. 실제 도메인으로, HTTPS가 있고, 공유할 수 있고, 사람들이 방문할 수 있어야 합니다.
단계 1: 애플리케이션 배포 (60분)
만든 것에 따라 배포 플랫폼을 선택합니다:
정적 사이트 / SPA (컴포넌트 라이브러리, 랜딩 페이지, 문서 사이트):
# Vercel — 정적 사이트와 Next.js를 위한 가장 빠른 경로
pnpm install -g vercel
vercel
# 질문들이 나옵니다. 모두 예라고 답합니다.
# 사이트가 약 60초 만에 라이브됩니다.
백엔드가 있는 웹 앱 (SaaS 도구, API 서비스):
# Railway — 간단, 좋은 무료 티어, 데이터베이스 지원
# https://railway.app
# GitHub 저장소를 연결하고 배포합니다.
# 또는 Fly.io — 더 많은 제어, 글로벌 엣지 배포
# https://fly.io
curl -L https://fly.io/install.sh | sh
fly launch
fly deploy
CLI 도구 / npm 패키지:
# npm 레지스트리
npm publish
# 또는 GitHub Releases를 통해 바이너리로 배포
# Rust 프로젝트에는 cargo-dist 사용
cargo install cargo-dist
cargo dist init
cargo dist build
# 바이너리를 GitHub 릴리스에 업로드
단계 2: 도메인 구매 (30분)
실제 도메인은 연 $12입니다. 비즈니스에 $12를 투자할 수 없다면, 비즈니스를 가지는 것에 진지하지 않은 것입니다.
구매처:
- Namecheap (https://namecheap.com) — .com 연 $8-12, 좋은 DNS 관리
- Cloudflare Registrar (https://dash.cloudflare.com) — 원가(.com 연 $9-10 정도), 우수한 DNS
- Porkbun (https://porkbun.com) — 첫해 종종 최저가, 좋은 UI
도메인 이름 팁:
- 짧을수록 좋습니다. 2음절이 이상적, 최대 3음절.
.com이 신뢰도에서 여전히 최강입니다. 개발자 도구에는.dev와.io도 괜찮습니다.- GoDaddy가 아닌 등록기관에서 가용성을 확인합니다(GoDaddy는 검색을 선점합니다).
- 선택에 15분 이상 쓰지 마십시오. 이름은 생각만큼 중요하지 않습니다.
# 도메인을 Vercel에 연결
# Vercel 대시보드에서: Settings > Domains > 도메인 추가
# 그런 다음 등록기관 DNS 설정에서 추가:
# A 레코드: @ -> 76.76.21.21
# CNAME 레코드: www -> cname.vercel-dns.com
# 또는 Cloudflare로 DNS를 사용하는 경우:
# Cloudflare DNS 패널에서 같은 레코드를 추가하면 됩니다
# SSL은 Vercel과 Cloudflare 모두 자동입니다
단계 3: 기본 모니터링 (30분)
두 가지를 알아야 합니다: 사이트가 작동 중인지, 사람들이 방문하는지.
가동시간 모니터링 (무료):
- Better Uptime (https://betteruptime.com) — 무료 티어로 10개 URL을 3분마다 모니터링
- UptimeRobot (https://uptimerobot.com) — 무료 티어로 50개 URL을 5분마다 모니터링
모니터링 설정 대상:
1. 랜딩 페이지 URL
2. 앱의 헬스 엔드포인트 (해당하는 경우)
3. 결제 웹훅 URL (중요 — 결제가 깨지면 알아야 합니다)
분석 (프라이버시 존중):
Google Analytics를 사용하지 마십시오. 개발자 오디언스가 차단하고, 새 제품에 과도하며, 프라이버시 문제가 있습니다.
- Plausible (https://plausible.io) — 월 $9, 프라이버시 우선, 한 줄 스크립트
- Fathom (https://usefathom.com) — 월 $14, 프라이버시 우선, 경량
- Umami (https://umami.is) — 무료 셀프 호스팅 또는 클라우드 월 $9
<!-- Plausible — <head>에 한 줄 -->
<script defer data-domain="yourdomain.com"
src="https://plausible.io/js/script.js"></script>
<!-- Umami — <head>에 한 줄 -->
<script defer
src="https://your-umami-instance.com/script.js"
data-website-id="your-website-id"></script>
솔직한 이야기: 네, 아직 돈을 벌지 못하는 제품에 분석 도구로 월 $9는 불필요하게 느껴집니다. 하지만 측정할 수 없는 것은 개선할 수 없습니다. 첫 달의 분석 데이터는 한 달간의 추측보다 시장에 대해 더 많은 것을 알려줍니다. 월 $9가 예산을 압박한다면, Railway에서 Umami를 무료로 셀프 호스팅하십시오.
오후 블록 (2시간): 결제 설정
제품이 돈을 받을 수 없으면 취미 프로젝트입니다. 결제 설정은 대부분의 개발자가 생각하는 것보다 시간이 적게 걸립니다 — 기본 플로우에 약 20-30분입니다.
옵션 A: Lemon Squeezy (디지털 제품 권장)
Lemon Squeezy (https://lemonsqueezy.com)는 결제 처리, 판매세, VAT, 디지털 배달을 하나의 플랫폼에서 처리합니다. 제로에서 결제 수락까지 가장 빠른 경로입니다.
첫 번째 제품에 Stripe 대신 Lemon Squeezy를 선택하는 이유:
- 판매 대행자 역할 — 판매세, VAT, 컴플라이언스를 처리해 줍니다
- 체크아웃 페이지 내장 — 프론트엔드 작업 불필요
- 디지털 배달 내장 — 파일을 업로드하면 접근을 처리합니다
- 거래당 5% + $0.50 (Stripe보다 높지만, 세금 두통을 몇 시간 절약합니다)
설정 단계:
- https://app.lemonsqueezy.com 에서 가입
- 스토어 생성 (비즈니스 이름)
- 제품 추가:
- 이름, 설명, 가격
- 디지털 배달 파일 업로드 (해당하는 경우)
- 라이선스 키 설정 (소프트웨어 판매의 경우)
- 체크아웃 URL 받기 — 이것이 "구매" 버튼이 링크하는 곳입니다
- 구매 후 자동화를 위한 웹훅 설정
// Lemon Squeezy 웹훅 핸들러 (Node.js/Express)
// POST /api/webhooks/lemonsqueezy
import crypto from 'crypto';
const WEBHOOK_SECRET = process.env.LEMONSQUEEZY_WEBHOOK_SECRET;
export async function handleLemonSqueezyWebhook(req, res) {
// 웹훅 서명 검증
const signature = req.headers['x-signature'];
const hmac = crypto.createHmac('sha256', WEBHOOK_SECRET);
const digest = hmac.update(JSON.stringify(req.body)).digest('hex');
if (signature !== digest) {
return res.status(401).json({ error: 'Invalid signature' });
}
const event = req.body;
switch (event.meta.event_name) {
case 'order_created': {
const order = event.data;
const customerEmail = order.attributes.user_email;
const productId = order.attributes.first_order_item.product_id;
const orderId = order.id;
console.log(`New order: ${orderId} from ${customerEmail}`);
// 환영 이메일 전송, 접근 권한 부여, 라이선스 키 생성 등
await grantProductAccess(customerEmail, productId);
await sendWelcomeEmail(customerEmail, orderId);
break;
}
case 'subscription_created': {
const subscription = event.data;
const customerEmail = subscription.attributes.user_email;
console.log(`New subscription from ${customerEmail}`);
await createSubscription(customerEmail, subscription);
break;
}
case 'subscription_cancelled': {
const subscription = event.data;
const customerEmail = subscription.attributes.user_email;
console.log(`Subscription cancelled: ${customerEmail}`);
await revokeAccess(customerEmail);
break;
}
default:
console.log(`Unhandled event: ${event.meta.event_name}`);
}
return res.status(200).json({ received: true });
}
옵션 B: Stripe (더 많은 제어, 더 많은 작업)
Stripe (https://stripe.com)은 더 많은 제어를 제공하지만 세금 컴플라이언스를 별도로 처리해야 합니다. 복잡한 과금이 있는 SaaS에 더 적합합니다.
// Stripe Checkout 세션 (Node.js)
// 호스팅된 체크아웃 페이지 생성
import Stripe from 'stripe';
const stripe = new Stripe(process.env.STRIPE_SECRET_KEY);
export async function createCheckoutSession(req, res) {
const session = await stripe.checkout.sessions.create({
payment_method_types: ['card'],
line_items: [
{
price_data: {
currency: 'usd',
product_data: {
name: 'DashKit Pro',
description: '12 Tailwind dashboard components + 8 templates + Figma files',
},
unit_amount: 5900, // $59.00 (센트 단위)
},
quantity: 1,
},
],
mode: 'payment', // 정기 결제는 'subscription'
success_url: `${process.env.DOMAIN}/success?session_id={CHECKOUT_SESSION_ID}`,
cancel_url: `${process.env.DOMAIN}/pricing`,
customer_email: req.body.email, // 있으면 미리 채움
});
return res.json({ url: session.url });
}
// Stripe 웹훅 핸들러
export async function handleStripeWebhook(req, res) {
const sig = req.headers['stripe-signature'];
let event;
try {
event = stripe.webhooks.constructEvent(
req.body, // 원시 바디, 파싱된 JSON이 아님
sig,
process.env.STRIPE_WEBHOOK_SECRET
);
} catch (err) {
console.error(`Webhook signature verification failed: ${err.message}`);
return res.status(400).send(`Webhook Error: ${err.message}`);
}
switch (event.type) {
case 'checkout.session.completed': {
const session = event.data.object;
await fulfillOrder(session);
break;
}
case 'customer.subscription.deleted': {
const subscription = event.data.object;
await revokeSubscriptionAccess(subscription);
break;
}
}
return res.json({ received: true });
}
두 플랫폼 공통 — 출시 전 테스트:
# Lemon Squeezy: 대시보드에서 테스트 모드 사용
# Lemon Squeezy 대시보드 오른쪽 상단에서 "Test mode" 전환
# 카드 번호: 4242 4242 4242 4242, 아무 미래 만료일, 아무 CVC 사용
# Stripe: 테스트 모드 API 키 사용
# 테스트 카드: 4242 4242 4242 4242
# 테스트 거절 카드: 4000 0000 0000 0002
# 인증이 필요한 테스트 카드: 4000 0025 0000 3155
테스트 모드에서 전체 구매 플로우를 직접 실행해 보십시오. 구매 버튼 클릭, 체크아웃 완료, 웹훅 발동 확인, 접근 권한 부여 확인. 테스트 모드에서 어떤 단계가 실패하면, 실제 고객에게도 실패합니다.
흔한 실수: "사용자를 좀 모은 후에 결제를 설정하겠습니다." 이것은 순서가 반대입니다. 결제를 설정하는 것은 오늘 돈을 모으기 위한 것이 아닙니다 — 누군가가 지불할 것인지를 검증하기 위한 것입니다. 가격이 없는 제품은 무료 도구입니다. 가격이 있는 제품은 비즈니스 테스트입니다. 가격 자체가 검증의 일부입니다.
저녁 블록 (3시간): 출시
제품이 라이브입니다. 결제가 작동합니다. 랜딩 페이지가 명확합니다. 이제 사람들이 보게 해야 합니다.
소프트 출시 전략
첫 번째 제품에 "대형 출시"를 하지 마십시오. 대형 출시는 완벽해야 한다는 압력을 만들고, v0.1은 완벽하지 않습니다. 대신 소프트 출시를 합니다: 몇 곳에서 공유하고, 피드백을 수집하고, 중요한 이슈를 수정한 다음, 1-2주 후에 대형 출시를 합니다.
출시 플랫폼 1: Reddit (30분)
r/SideProject와 제품과 관련된 니치 서브레딧 하나에 게시합니다.
Reddit 게시 템플릿:
Title: I built [무엇을 하는지] in a weekend — [핵심 혜택]
Body:
Hey [서브레딧],
I've been frustrated with [문제] for a while, so I built
[제품명] this weekend.
**What it does:**
- [기능 1 — 핵심 가치]
- [기능 2]
- [기능 3]
**What makes it different from [경쟁사]:**
[차별화에 대한 솔직한 한 단락]
**Pricing:**
[투명하게. "$29 one-time" 또는 "Free tier + $19/mo Pro"]
I'd love feedback. What am I missing? What would make this
useful for your workflow?
[제품 링크]
Reddit 게시 규칙:
- 진심으로 도움이 되게 합니다, 세일즈적으로 하지 않습니다
- 모든 댓글에 하나하나 답글합니다 (이것은 선택이 아닙니다)
- 비판을 우아하게 수용합니다 — 부정적 피드백이 가장 가치 있는 종류입니다
- 공작하지 않습니다 (가짜 업보트, 다중 계정). 발각되어 차단됩니다.
출시 플랫폼 2: Hacker News (30분)
제품이 기술적이고 흥미롭다면 Show HN을 게시합니다. "기술적 세부사항" 섹션에서 스택(your primary stack)을 언급하고 왜 그것을 선택했는지 설명합니다 — HN 독자들은 정보에 기반한 기술적 결정을 좋아합니다.
Show HN 템플릿:
Title: Show HN: [제품명] – [무엇을 하는지, 70자 미만]
Body:
[제품명] is [무엇을 하는지 한 문장 설명].
I built this because [진심어린 동기 — 스스로를 위해
해결하던 문제].
Technical details:
- Built with [스택]
- [흥미로운 기술적 결정과 그 이유]
- [구현에서 주목할 만한 점]
Try it: [URL]
Feedback welcome. I'm particularly interested in [HN 오디언스에 대한
구체적인 질문].
HN 팁:
- 미국 동부 시간 오전 7-9시에 게시합니다 (트래픽 최대)
- 제목이 무엇보다 중요합니다. 구체적이고 기술적으로 작성합니다.
- HN 독자들은 마케팅 세련됨보다 기술적 실체를 존중합니다
- 처음 2시간 동안 댓글에 즉시 답글합니다. 댓글 속도가 순위에 영향을 줍니다.
- 업보트를 부탁하지 않습니다. 게시하고 참여하면 됩니다.
출시 플랫폼 3: Twitter/X (30분)
빌드인퍼블릭 출시 스레드를 작성합니다:
트윗 1 (훅):
I built [제품] in 48 hours this weekend.
It [특정 오디언스를 위해 특정 문제를 해결].
Here's what I shipped, what I learned, and the real numbers. Thread:
트윗 2 (문제):
The problem:
[페인 포인트를 2-3문장으로 설명]
[고통을 보여주는 스크린샷 또는 코드 예시 포함]
트윗 3 (솔루션):
So I built [제품명].
[작동 중인 제품의 스크린샷/GIF]
It does three things:
1. [기능 1]
2. [기능 2]
3. [기능 3]
트윗 4 (기술적 세부사항):
Tech stack for the nerds:
- [프론트엔드]
- [백엔드]
- [호스팅 — 구체적인 플랫폼 언급]
- [결제 — Lemon Squeezy/Stripe 언급]
- Total cost to run: $XX/month
트윗 5 (가격):
Pricing:
[명확한 가격, 랜딩 페이지와 동일]
[제품 링크]
트윗 6 (요청):
Would love feedback from anyone who [타겟 사용자 설명].
What am I missing? What would make this a must-have for you?
출시 플랫폼 4: 관련 커뮤니티 (30분)
타겟 오디언스가 모이는 2-3개의 커뮤니티를 파악합니다:
- Discord 서버 (개발자 커뮤니티, 프레임워크 전용 서버)
- Slack 커뮤니티 (많은 니치 개발자 커뮤니티에 Slack 그룹이 있습니다)
- Dev.to / Hashnode (짧은 "이것을 만들었습니다" 게시글 작성)
- Indie Hackers (https://indiehackers.com) — 바로 이 목적으로 설계됨
- 관련 Telegram 또는 WhatsApp 그룹
출시 후 첫 48시간 — 무엇을 지켜봐야 하는지:
추적할 지표:
1. 고유 방문자 (분석에서)
2. 랜딩 페이지 → 체크아웃 클릭률 (2-5%여야 함)
3. 체크아웃 → 구매 전환율 (1-3%여야 함)
4. 이탈률 (80% 이상이면 헤드라인/히어로가 잘못됨)
5. 트래픽 출처 (방문자가 어디서 오는지?)
6. 댓글과 피드백 (정성적 — 사람들이 뭐라고 하는지?)
계산 예시:
- 48시간에 500 방문자 (Reddit + HN + Twitter에서 합리적인 수치)
- 3%가 "구매" 클릭 = 15개 체크아웃 방문
- 10%가 구매 완료 = 1-2건의 판매
- $29/건 = 첫 주말에 $29-58
이것은 은퇴 자금이 아닙니다. 검증 자금입니다.
인터넷의 낯선 사람으로부터 $29는 제품에 가치가 있음을 증명합니다.
처음 48시간에 판매가 0이어도 당황하지 마십시오. 퍼널을 보십시오:
- 방문자가 0? 여러분의 배포가 문제이지, 제품이 아닙니다.
- 방문자는 있지만 "구매" 클릭이 0? 카피나 가격이 문제입니다.
- "구매" 클릭은 있지만 완료가 0? 체크아웃 플로우가 깨졌거나 인지 가치 대비 가격이 너무 높습니다.
각각은 다른 수정이 필요합니다. 이것이 지표가 중요한 이유입니다.
여러분의 차례
-
시간을 블록합니다. 지금 캘린더를 열고 다음 토요일 오전 8시~오후 8시와 일요일 오전 8시~오후 8시를 블록합니다. "48시간 스프린트"라고 라벨합니다. 변경할 수 없는 비행기처럼 취급합니다.
-
아이디어를 선택합니다. 모듈 R에서 수익 엔진 하나를 선택합니다. v0.1의 3기능 범위를 적어둡니다. 하나를 선택할 수 없으면, 비개발자에게 한 문장으로 설명할 수 있는 것을 선택합니다.
-
사전 작업. 토요일 전에 다음에서 계정을 만듭니다:
- Vercel, Railway 또는 Fly.io (배포)
- Lemon Squeezy 또는 Stripe (결제)
- Namecheap, Cloudflare 또는 Porkbun (도메인)
- Plausible, Fathom 또는 Umami (분석)
- Better Uptime 또는 UptimeRobot (모니터링)
평일 저녁에 해두면 토요일은 계정 생성이 아닌 순수한 빌딩에 쓸 수 있습니다.
-
출시 플랫폼을 준비합니다. 어느 정도의 카르마가 있는 Reddit 계정이 없다면, 이번 주부터 관련 서브레딧에 참여하기 시작합니다. 자기 홍보만 올리는 계정은 신고됩니다. Hacker News 계정이 없다면 만들고 몇 개의 토론에 먼저 참여합니다.
강의 2: "출시 후 개선" 마인드셋
"3기능의 v0.1이 영원히 출시되지 않는 v1.0을 이깁니다."
완벽주의 함정
개발자는 특정한 실패 모드에 특히 취약합니다: 영원히 비공개로 만들기. 우리는 "좋은 코드"가 어떤 것인지 압니다. v0.1이 좋은 코드가 아니라는 것도 압니다. 그래서 리팩터링합니다. 에러 처리를 추가합니다. 테스트를 더 작성합니다. 아키텍처를 개선합니다. 중요한 것을 제외한 모든 것을 합니다: 사람들에게 보여주는 것 말입니다.
수천 시간을 절약해 줄 진실이 여기 있습니다: 고객은 소스 코드를 읽지 않습니다. 아키텍처도 신경 쓰지 않습니다. 테스트 커버리지도 신경 쓰지 않습니다. 오직 하나만 신경 씁니다: 이것이 내 문제를 해결하는가?
스파게티 코드이지만 실제 문제를 해결하는 제품은 돈을 법니다. 아름다운 아키텍처이지만 아무 문제도 해결하지 못하는 제품은 아무것도 벌지 못합니다.
이것은 나쁜 코드를 쓰라는 변명이 아닙니다. 우선순위 선언입니다. 먼저 출시합니다. 다음에 리팩터링합니다. 리팩터링은 실제 사용 데이터에 의해 더 잘 안내될 것입니다.
"출시 후 개선"이 실제로 어떻게 전개되는지
이 시나리오를 생각해 봅시다: 한 개발자가 소프트웨어 엔지니어링 매니저를 위한 Notion 템플릿 팩을 출시합니다. 출시 시점의 모습은 이렇습니다:
- 5개의 템플릿 (50개가 아님)
- 설명 한 단락과 스크린샷 3장이 있는 Gumroad 페이지
- 커스텀 웹사이트 없음
- 이메일 리스트 없음
- 소셜 미디어 팔로워 없음
- 가격: $29
Reddit과 Twitter에 올립니다. 이것이 전체 마케팅 전략입니다.
1개월 차 결과:
- $29로 약 170건 판매 = 약 $5,000
- Gumroad 수수료(10%) 후: 약 $4,500
- 투자한 시간: 총 약 30시간 (템플릿 만들기 + 설명 쓰기)
- 실효 시급: 약 $150/시간
"완벽"했습니까? 아닙니다. 템플릿에 포매팅 불일치가 있었습니다. 일부 설명은 범용적이었습니다. 고객은 신경 쓰지 않았습니다. 템플릿을 직접 만드는 수고에서 해방되는 것을 신경 썼습니다.
3개월 차까지, 고객 피드백을 기반으로, 개발자는:
- 포매팅 이슈를 수정했습니다
- 템플릿을 추가했습니다 (고객이 구체적으로 요청한 것들)
- 가격을 $39로 인상했습니다 (기존 고객은 무료 업데이트를 받았습니다)
- 비디오 워크스루가 포함된 "Pro" 티어를 만들었습니다
출시한 제품은 90일 후의 제품보다 모든 면에서 열등했습니다. 하지만 90일 버전은 출시 버전이 개발을 안내하는 피드백과 수익을 생성했기 때문에만 존재했습니다.
참고: "못생겨도 출시하고, 빠르게 개선하라" 모델의 실제 검증으로: Josh Comeau는 CSS for JavaScript Developers 코스의 첫 주에 $550K를 사전 판매했습니다(출처: failory.com). Wes Bos는 반복적 출시를 통해 총 $10M+ 이상의 개발자 코스 매출을 올렸습니다(출처: foundershut.com). 둘 다 불완전한 v1 제품으로 시작하여 실제 고객 피드백을 기반으로 반복했습니다.
처음 10명의 고객이 모든 것을 알려줍니다
처음 10명의 유료 고객은 비즈니스에서 가장 중요한 사람들입니다. 돈 때문이 아닙니다 — $29에 10건 판매는 $290이며, 식료품을 사는 수준입니다. 그들이 중요한 이유는 제품 개발 팀의 자원봉사자이기 때문입니다.
처음 10명의 고객에게 해야 할 것:
-
개인적인 감사 이메일을 보냅니다. 자동화된 것이 아닙니다. 개인적인 것입니다. "안녕하세요, [제품]을 구매하신 것을 봤습니다. 감사합니다. 적극적으로 개발 중입니다 — 할 수 없지만 했으면 하는 것이 있나요?"
-
모든 답신을 읽습니다. 일부는 답신하지 않을 것입니다. 일부는 "좋아 보여요, 감사합니다"라고 답할 것입니다. 하지만 10명 중 2-3명은 원하는 것에 대해 장문을 쓸 것입니다. 그 장문이 로드맵입니다.
-
패턴을 찾습니다. 10명 중 3명이 같은 기능을 요청하면, 만듭니다. 유료 고객으로부터의 30% 수요 신호입니다. 어떤 설문도 이만큼 좋은 데이터를 주지 못합니다.
-
추가 지불 의향을 묻습니다. "[기능X]가 포함된 Pro 티어를 계획하고 있습니다. $49의 가치가 있을까요?" 직접적으로. 구체적으로. 가격 데이터를 제공합니다.
처음 10명의 고객을 위한 이메일 템플릿:
제목: Quick question about [제품명]
Hey [이름],
I noticed you picked up [제품명] — thanks for being
one of the first customers.
I'm building this actively and shipping updates weekly.
Quick question: what's the ONE thing you wish it did that
it doesn't?
No wrong answers. Even if it seems like a big ask,
I want to hear it.
Thanks,
[여러분의 이름]
부정적 피드백 대처법
첫 번째 부정적 피드백은 개인적으로 느껴질 것입니다. 개인적인 것이 아닙니다. 데이터입니다.
부정적 피드백 처리 프레임워크:
1. 멈춥니다. 30분 동안 답글하지 않습니다. 감정적 반응은
도움이 되지 않습니다.
2. 피드백을 분류합니다:
a) 버그 리포트 — 고칩니다. 감사합니다.
b) 기능 요청 — 백로그에 추가. 감사합니다.
c) 가격 불만 — 메모합니다. 패턴인지 확인합니다.
d) 품질 불만 — 조사합니다. 타당한가요?
e) 트롤/비합리적 — 무시합니다. 계속 갑니다.
3. 답글합니다 (a, b, c, d만):
"피드백 감사합니다. [구체적인 이슈를 인정].
[지금 고치는 중입니다 / 로드맵에 추가했습니다 / 살펴보고 있습니다].
해결되면 알려드리겠습니다."
4. 행동합니다. 고치겠다고 약속했으면 일주일 안에 고칩니다.
고객의 피드백이 실제 변화로 이어진다는 것을 보여주는 것만큼
충성도를 빠르게 쌓는 것은 없습니다.
솔직한 이야기: 제품이 쓰레기라고 말하는 사람이 나올 것입니다. 아플 것입니다. 하지만 제품이 라이브이고 돈을 벌고 있다면, 대부분의 개발자가 한 번도 하지 못한 일을 이미 한 것입니다. 댓글란에서 비판하는 사람은 아무것도 출시하지 않았습니다. 여러분은 했습니다. 계속 출시하십시오.
주간 반복 사이클
출시 후, 워크플로우는 타이트한 루프가 됩니다:
월요일: 지난 주의 지표와 고객 피드백 검토
화요일: 이번 주의 개선 계획 (하나만, 다섯 개가 아님)
수요일: 개선 사항 구축
목요일: 개선 사항 테스트 및 배포
금요일: 변경 이력/업데이트 게시글 작성
주말: 마케팅 — 블로그 글 하나, 소셜 게시물 하나, 커뮤니티 상호작용 하나
반복합니다.
핵심 키워드는 주당 하나의 개선입니다. 기능 대개편이 아닙니다. 리디자인이 아닙니다. 기존 고객에게 제품을 약간 더 좋게 만드는 한 가지입니다. 12주 동안 이것은 실제 사용 데이터에 기반한 12개의 개선입니다. 이 사이클의 12주 후 제품은 고립 속에서 설계한 어떤 것보다 극적으로 나아져 있을 것입니다.
수익은 설문보다 빠르게 검증합니다
설문은 거짓말합니다. 의도적으로가 아니라 — 사람들은 자신의 행동을 예측하는 데 서툴 뿐입니다. "이것에 $29 내시겠습니까?"는 쉽게 "네"를 받습니다. 하지만 "여기가 체크아웃 페이지입니다, 신용카드를 입력해 주세요"는 정직한 답변을 받습니다.
이것이 첫날부터 결제를 포함하여 출시하는 이유입니다:
| 검증 방법 | 신호까지 시간 | 신호 품질 |
|---|---|---|
| 설문 / 투표 | 1-2주 | 낮음 (사람들이 거짓말함) |
| 이메일 가입이 있는 랜딩 페이지 | 1-2주 | 중간 (관심이지 약속이 아님) |
| 가격은 있지만 체크아웃이 없는 랜딩 페이지 | 1주 | 중-높음 (가격 수용도) |
| 실제 체크아웃이 있는 라이브 제품 | 48시간 | 최고 (실제 구매 행동) |
$0 가격은 아무것도 밝혀주지 않습니다. $29 가격은 모든 것을 밝혀줍니다.
여러분의 차례
-
"불완전한 출시" 약속을 작성합니다. 텍스트 파일을 열고 씁니다: "나는 [제품명]을 [날짜]에 출시할 것이며, 완벽하지 않더라도 그렇게 할 것입니다. v0.1 범위: [3개 기능]. 출시 전 기능 4를 추가하지 않겠습니다." 서명합니다(비유적으로). 다듬고 싶은 충동이 들 때 참고합니다.
-
처음 10명의 고객 이메일을 초안합니다. 고객이 있기 전에 지금 개인 감사 이메일 템플릿을 씁니다. 첫 번째 판매가 들어오면 한 시간 이내에 보내고 싶을 것입니다.
-
반복 추적기를 설정합니다. 다음 열이 있는 간단한 스프레드시트 또는 Notion 페이지를 만듭니다: 주 | 개선 사항 | 지표 영향 | 고객 피드백. 이것이 다음에 무엇을 만들지 결정하는 의사 결정 로그가 됩니다.
강의 3: 개발자 제품의 가격 심리학
"$0는 가격이 아닙니다. 함정입니다."
왜 무료가 비싼지
개발자 제품 판매에서 가장 직관에 반하는 진실: 무료 사용자가 유료 고객보다 더 많은 비용이 듭니다.
무료 사용자는:
- 더 많은 지원 요청을 합니다 (이해관계가 없기 때문)
- 더 많은 기능을 요구합니다 (무료이므로 당연하다고 느낌)
- 덜 유용한 피드백을 제공합니다 ("쿨하네요"는 실행 가능하지 않음)
- 이탈률이 더 높습니다 (전환 비용이 없음)
- 제품을 추천하는 빈도가 낮습니다 (무료는 인지 가치가 낮음)
유료 고객은:
- 여러분의 성공에 투자하고 있습니다 (구매가 좋은 결정이었기를 바람)
- 구체적이고 실행 가능한 피드백을 제공합니다 (제품이 개선되기를 바람)
- 리텐션이 쉽습니다 (이미 결제를 결정함; 관성이 여러분 편)
- 더 자주 다른 사람에게 추천합니다 (자기가 돈 낸 것을 추천하면 구매를 정당화함)
- 여러분의 시간을 존중합니다 (비즈니스를 운영하고 있다는 것을 이해함)
무료 티어를 제공하는 유일한 이유는 유료 티어로의 리드 생성 메커니즘으로서입니다. 무료 티어가 너무 좋아서 아무도 업그레이드하지 않으면, 무료 티어가 아닙니다 — 기부 버튼이 있는 무료 제품입니다.
흔한 실수: "먼저 무료로 사용자를 모으고 나중에 과금하겠습니다." 이것은 거의 성공하지 못합니다. $0에 끌어들인 사용자는 영원히 $0을 기대합니다. 가격을 추가하면 떠납니다. 첫날부터 $29를 지불했을 사용자는 여러분이 무료 도구로 포지셔닝했기 때문에 제품을 찾지 못했습니다. 잘못된 오디언스를 끌어들인 것입니다.
개발자 제품 가격 티어
수백 개의 성공한 개발자 제품을 분석한 결과, 이 가격대가 일관되게 작동합니다. 아래 모든 가격은 USD입니다 — your local currency로 가격을 매기는 경우, 현지 구매력과 시장 관행에 맞게 조정하십시오.
티어 1: $9-29 — 개발자 도구와 유틸리티
이 가격대의 제품은 구체적이고 좁은 문제를 해결합니다. 한 번 구매, 오늘 바로 사용합니다.
예시:
- 프리미엄 기능이 있는 VS Code 확장: $9-15
- 프로 기능이 있는 CLI 도구: $15-19
- 단일 목적 SaaS 도구: $9-19/월
- 소규모 컴포넌트 라이브러리: $19-29
- 브라우저 DevTools 확장: $9-15
구매자 심리: 충동 구매 영역. 개발자가 보고,
문제를 인식하고, 매니저에게 묻지 않고 삽니다.
예산 승인이 필요 없습니다. 신용카드 → 완료.
핵심 통찰: 이 가격에서 랜딩 페이지는
2분 이내에 전환해야 합니다. 구매자는 긴 기능 목록을
읽지 않습니다. 문제를 보여주고, 솔루션을 보여주고, 가격을 보여줍니다.
티어 2: $49-99 — 템플릿, 키트, 포괄적 도구
이 가격대의 제품은 상당한 시간을 절약합니다. 함께 작동하는 여러 컴포넌트입니다.
예시:
- 전체 UI 템플릿 키트: $49-79
- 인증, 과금, 대시보드가 포함된 SaaS 보일러플레이트: $79-99
- 포괄적인 아이콘/일러스트레이션 세트: $49-69
- 다목적 CLI 툴킷: $49
- 상세한 문서가 있는 API 래퍼 라이브러리: $49-79
구매자 심리: 고려형 구매. 개발자가 5-10분
동안 평가합니다. 대안과 비교합니다. 절약되는 시간을 계산합니다.
"이것이 10시간을 절약해 주고, 내 시간 가치가 $50/시간이면,
$79는 고민할 것도 없습니다."
핵심 통찰: 비교 대상이 필요합니다. 이것을 처음부터
만드는 시간/노력과 키트를 구매하는 것을 보여줍니다.
추천사가 있으면 포함합니다.
티어 3: $149-499 — 코스, 포괄적 솔루션, 프리미엄 템플릿
이 가격대의 제품은 스킬을 변환하거나 완전한 시스템을 제공합니다.
예시:
- 비디오 코스 (10시간 이상): $149-299
- 전체 소스 + 비디오 워크스루 포함 SaaS 스타터 키트: $199-299
- 엔터프라이즈 컴포넌트 라이브러리: $299-499
- 포괄적 개발자 툴킷 (여러 도구): $199
- "X를 처음부터 빌드" 완전한 코드베이스 + 레슨: $149-249
구매자 심리: 투자형 구매. 구매자가 지출을
정당화해야 합니다 (자신 또는 매니저에게). 소셜 프루프,
상세 프리뷰, 명확한 ROI 내러티브가 필요합니다.
핵심 통찰: 이 티어에서는 환불 보증을 제공합니다.
구매 불안을 줄이고 전환율을 높입니다.
디지털 개발자 제품의 환불률은 보통 3-5%입니다.
전환율 증가가 환불을 훨씬 초과합니다.
3티어 가격 전략
제품이 지원한다면 세 가지 가격 티어를 제공합니다. 이것은 무작위가 아닙니다 — "센터 스테이지 효과"라 불리는 잘 문서화된 인지 편향을 활용합니다. 세 가지 옵션이 제시되면, 대부분의 사람들이 가운데를 선택합니다.
티어 구조:
BASIC PRO (하이라이트) TEAM/ENTERPRISE
$29 $59 $149
코어 기능 Basic의 모든 것 Pro의 모든 것
+ 프리미엄 기능 + 팀 기능
+ 우선 지원 + 상업용 라이선스
전환 분포 (일반적):
- Basic: 20-30%
- Pro: 50-60% ← 이것이 타겟입니다
- Team: 10-20%
티어 설계 방법:
-
Pro 티어부터 시작합니다. 이것이 실제로 팔고 싶은 제품이며, 가치를 반영하는 가격입니다. 이것을 먼저 디자인합니다.
-
Pro에서 기능을 제거하여 Basic 티어를 만듭니다. Basic이 문제를 해결하지만 Pro가 문제를 잘 해결하는 만큼 충분히 제거합니다. Basic은 약간 답답해야 합니다 — 사용 가능하지만, 명확하게 제한적입니다.
-
Pro에 기능을 추가하여 Team 티어를 만듭니다. 다중 시트 라이선싱, 상업적 사용 권한, 우선 지원, 커스텀 브랜딩, 소스 코드 접근, Figma 파일 등.
실제 가격 페이지 예시:
DashKit
STARTER — $29 PRO — $59 TEAM — $149
★ 가장 인기 에이전시에 최적
✓ 12개 코어 컴포넌트 ✓ Starter의 모든 것 ✓ Pro의 모든 것
✓ React + TypeScript ✓ 8개 풀 페이지 템플릿 ✓ 최대 5명 팀 멤버
✓ 다크 모드 ✓ Figma 디자인 파일 ✓ 상업용 라이선스
✓ npm install ✓ 고급 데이터 테이블 (무제한 클라이언트 프로젝트)
✓ 6개월 업데이트 ✓ 차트 라이브러리 통합 ✓ 우선 지원
✓ 12개월 업데이트 ✓ 평생 업데이트
✓ 우선 기능 요청 ✓ 커스텀 브랜딩 옵션
[Starter 받기] [Pro 받기] [Team 받기]
가격 앵커링
앵커링은 사람들이 처음 본 숫자가 이후 숫자의 인식에 영향을 미치는 인지 편향입니다. 윤리적으로 활용합니다:
-
비싼 옵션을 먼저 보여줍니다 (서양 레이아웃에서 오른쪽에). $149를 보면 $59가 합리적으로 느껴집니다.
-
"절약된 시간" 계산을 보여줍니다.
"이 컴포넌트를 처음부터 만들면 약 40시간이 걸립니다. $50/시간이면 여러분의 시간 $2,000입니다. DashKit Pro: $59." -
구독에 "하루 당" 표현을 사용합니다.
"$19/월" → "하루 $0.63 미만" "$99/년" → "$8.25/월" 또는 "하루 $0.27" -
연간 결제 할인. 연간 플랜에서 2개월 무료를 제공합니다. 이것은 표준적이고 기대되는 것입니다. 연간 결제는 이탈을 30-40% 줄입니다. 해지가 지속적인 월간 결정이 아닌 단일 갱신 시점에서의 의식적 결정을 필요로 하기 때문입니다.
월간: $19/월
연간: $190/년 ($38 절약 — 2개월 무료)
표시 방법:
월간: $19/월
연간: $15.83/월 (연 $190으로 일괄 청구)
가격 A/B 테스트
가격 테스트는 가치 있지만 까다롭습니다. 부정직하지 않으면서 하는 방법은 다음과 같습니다:
허용되는 접근 방식:
- 다른 출시 채널에서 다른 가격을 테스트합니다 (Reddit은 $29, Product Hunt는 $39, 어느 것이 더 전환되는지 확인)
- 2주 후 가격을 변경하고 전환율을 비교합니다
- 출시 할인을 제공합니다 ("이번 주 $29, 이후 $39") 긴급성이 행동을 바꾸는지 확인합니다
- 시간 기간에 걸쳐 다른 티어 구조를 테스트합니다 (2티어 vs 3티어)
허용되지 않는 접근 방식:
- 같은 페이지에서 동시에 다른 방문자에게 다른 가격을 보여주는 것 (가격 차별, 신뢰 훼손)
- 위치나 브라우저 감지에 기반해 더 많이 청구하는 것 (사람들은 이야기하고, 발각됩니다)
언제 가격을 올릴 것인지
다음 중 하나라도 해당되면 가격을 올립니다:
-
전환율이 5% 이상. 너무 쌉니다. 개발자 제품 랜딩 페이지의 건강한 전환율은 1-3%입니다. 5% 이상이면 가격을 본 거의 모든 사람이 좋은 거래라고 동의한다는 뜻입니다 — 테이블에 돈을 놓고 있다는 뜻입니다.
-
아무도 가격에 대해 불평하지 않습니다. 100명 중 0명이 비싸다고 하면, 너무 쌉니다. 건강한 제품은 약 20%의 방문자가 높다고 생각합니다. 80%가 공정하거나 좋은 거래라고 생각한다는 뜻입니다.
-
출시 이후 중요한 기능을 추가했습니다. $29에 3개 기능으로 출시했습니다. 이제 8개 기능과 더 나은 문서가 있습니다. 제품의 가치가 올라갔습니다. 더 받으십시오.
-
추천사와 소셜 프루프가 있습니다. 소셜 프루프에 의해 인지 가치가 증가합니다. 5개 이상의 긍정적 리뷰가 있으면, 구매자의 마음속에서 제품이 더 가치 있습니다.
가격 올리는 방법:
- 가격 인상을 1-2주 전에 공지합니다 ("[날짜]에 $29에서 $39로 변경됩니다")
- 기존 고객에게는 구가격을 유지합니다
- 이것은 부정한 것이 아닙니다 — 표준 관행이며, 망설이는 사람에게 긴급성도 만듭니다
솔직한 이야기: 대부분의 개발자는 50-200% 낮게 가격을 매깁니다. 여러분의 $29 제품은 아마 $49의 가치가 있습니다. $49 제품은 아마 $79의 가치가 있습니다. 이것을 아는 이유는 개발자들이 자신의 지불 의향(낮음 — 우리는 도구에 인색함)에 앵커링하지, 고객의 지불 의향(더 높음 — 그들은 시간이 드는 문제에 대한 솔루션을 구매함)에 앵커링하지 않기 때문입니다. 생각보다 빨리 가격을 올리십시오.
여러분의 차례
-
제품에 가격을 매깁니다. 위의 티어 분석을 기반으로, v0.1 출시를 위한 가격대를 선택합니다. 적어둡니다. "너무 높다"고 느껴져서 불편하면, 아마 올바른 범위에 있는 것입니다. 편안하게 느껴지면 50% 추가합니다.
-
가격 페이지를 디자인합니다. 3티어 템플릿을 사용하여 가격 페이지 카피를 디자인합니다. 어떤 기능이 어떤 티어에 들어가는지 결정합니다. "하이라이트" 티어(가장 많은 사람이 구매하기를 바라는 것)를 결정합니다.
-
계산합니다. 채워 넣습니다:
- 건당 판매 가격: $___
- 목표 월 수입: $___
- 월에 필요한 판매 건수: ___
- 예상 필요 랜딩 페이지 방문자 수 (전환율 2% 기준): ___
- 여러분의 배포 계획으로 그 방문자 수가 달성 가능합니까? (예/아니오)
강의 4: 법적 최소 필수 설정
"지금 30분의 법적 설정이 나중에 30시간의 공황을 절약합니다."
법적 설정에 대한 솔직한 진실
대부분의 개발자는 법적인 것을 완전히 무시하거나(위험) 마비됩니다(낭비). 올바른 접근법은 최소 필수 법적 설정입니다: $5를 벌기 전에 변호사에게 $5,000을 쓰지 않고, 합법적으로 운영하기에 충분한 보호입니다.
첫 번째 판매 전에 실제로 필요한 것, 100번째 판매 전에 필요한 것, 그리고 훨씬 나중까지 필요 없는 것을 보여드립니다.
첫 번째 판매 전에 (이번 주말에 할 것)
1. 고용 계약을 확인합니다 (30분)
풀타임 직장이 있다면, 무언가를 만들기 전에 고용 계약의 IP 조항을 읽습니다. 구체적으로 찾는 것:
- 발명 양도 조항: 일부 계약은 고용 중 만든 모든 것 — 개인 시간 포함 — 이 고용주에게 귀속된다고 합니다.
- 경업 금지 조항: 일부는 부업으로도 같은 산업에서 일하는 것을 제한합니다.
- 부업 정책: 일부는 외부 사업 활동에 서면 승인을 요구합니다.
찾고 있는 것:
안전: "회사 시간이나 회사 자원을 사용하여 만든 발명은
회사에 귀속됩니다." → 개인 머신에서의 주말 프로젝트는 여러분의 것입니다.
모호: "회사의 현재 또는 예상되는 사업과 관련된 모든 발명."
→ 부업이 고용주와 같은 도메인이면, 법적 조언을 구합니다.
제한적: "고용 기간 중 착상된 모든 발명은 회사에 귀속됩니다."
→ 공격적이지만 일부 회사에서 흔합니다. 출시 전에 법적 조언을 구합니다.
캘리포니아, 델라웨어, 일리노이, 미네소타, 워싱턴 등의 주에는 고용주가 개인 발명을 얼마나 광범위하게 청구할 수 있는지를 제한하는 법률이 있습니다. 하지만 계약의 구체적인 문구가 중요합니다.
흔한 실수: "비밀로 하면 됩니다." 제품이 중요할 만큼 성공하면, 누군가가 알아챕니다. 고용 계약을 위반하면 제품과 직장 모두를 잃을 수 있습니다. 지금 계약을 읽는 30분이 이것을 방지합니다.
2. 개인정보 보호정책 (15분)
제품이 어떤 데이터든 수집하면 — 구매를 위한 이메일 주소만이라도 — 개인정보 보호정책이 필요합니다. 이것은 EU (GDPR), 캘리포니아 (CCPA), 그리고 점점 더 많은 곳에서 법적 요구사항입니다.
처음부터 작성하지 마십시오. 생성기를 사용합니다:
- Termly (https://termly.io/products/privacy-policy-generator/) — 무료 티어, 질문에 답하고 정책 받기
- Avodocs (https://www.avodocs.com) — 무료, 오픈소스 법적 템플릿
- Iubenda (https://www.iubenda.com) — 무료 티어, 기술 스택에 기반해 자동 생성
개인정보 보호정책이 커버해야 할 것:
# [제품명] 개인정보 보호정책
최종 업데이트: [날짜]
## 수집하는 정보
- 이메일 주소 (구매 확인 및 제품 업데이트용)
- 결제 정보 ([Lemon Squeezy/Stripe]에서 처리,
카드 세부사항을 보거나 저장하지 않음)
- 기본 사용 분석 (페이지 뷰, 기능 사용 —
[Plausible/Fathom/Umami] 통해, 프라이버시 존중, 쿠키 없음)
## 수집하지 않는 정보
- 웹 전체에서 추적하지 않습니다
- 데이터를 누구에게도 판매하지 않습니다
- 광고 쿠키를 사용하지 않습니다
## 데이터 사용 방법
- 구매한 제품을 전달하기 위해
- 제품 업데이트 및 중요 공지를 보내기 위해
- 집계된 사용 패턴을 기반으로 제품을 개선하기 위해
## 데이터 저장
- 데이터는 [호스팅 제공자]의 [지역] 서버에 저장됩니다
- 결제 데이터는 [Lemon Squeezy/Stripe]이 전적으로 처리합니다
## 여러분의 권리
- 언제든지 데이터 사본을 요청할 수 있습니다
- 언제든지 데이터 삭제를 요청할 수 있습니다
- 연락처: [여러분의 이메일]
## 변경
- 중요한 변경은 이메일로 알립니다
yourdomain.com/privacy에 배치합니다. 체크아웃 페이지 푸터에서 링크합니다.
3. 이용 약관 (15분)
이용 약관은 부당한 청구로부터 보호합니다. 디지털 제품의 경우 간단합니다.
# [제품명] 이용 약관
최종 업데이트: [날짜]
## 라이선스
[제품명]을 구매하면 [개인/상업] 목적으로 사용하는
라이선스가 부여됩니다.
- **싱글 라이선스:** 본인 프로젝트에서 사용 (무제한)
- **팀 라이선스:** 최대 [N]명의 팀 멤버가 사용
- 재배포, 재판매, 접근 자격 증명 공유 금지
## 환불
- 디지털 제품: [30일 / 14일] 환불 보증
- 만족하지 못하면 [이메일]로 전액 환불 연락
- 환불 기간 내 질문 없음
## 책임
- [제품명]은 보증 없이 "있는 그대로" 제공됩니다
- 제품 사용으로 인한 손해에 대해 책임을 지지 않습니다
- 최대 책임은 지불한 금액으로 제한됩니다
## 지원
- [이메일]을 통한 이메일 지원 제공
- [48시간 / 2영업일] 이내 응답 목표
## 수정
- 통지 후 이 약관을 업데이트할 수 있습니다
- 계속 사용하면 업데이트된 약관을 수락한 것으로 간주됩니다
yourdomain.com/terms에 배치합니다. 체크아웃 페이지 푸터에서 링크합니다.
100번째 판매 전에 (처음 몇 개월)
4. 사업체 (1-3시간 + 처리 시간)
개인사업자로 운영하는 것(사업체를 설립하지 않고 물건을 팔 때의 기본)은 첫 판매에서 작동합니다. 하지만 수입이 증가하면 책임 보호와 세금 혜택이 필요합니다.
미국 — LLC:
LLC(유한책임회사)는 솔로 개발자 비즈니스의 표준 선택입니다.
비용: 주에 따라 $50-500 (신청비)
시간: 처리에 1-4주
어디서 신청: 특별한 이유가 없는 한 거주 주
델라웨어나 와이오밍을 사용하는 특별한 이유가 없다면
DIY 신청 (최저가):
1. 해당 주의 국무장관 웹사이트에 접속
2. "Articles of Organization" 신청 (양식은 보통 1-2페이지)
3. 신청비 지불 (주에 따라 $50-250)
4. IRS.gov에서 EIN (세금 ID) 받기 — 무료, 온라인으로 즉시
솔로 개발자를 위한 주 비교:
- 와이오밍: 신청 $100, 연간 보고서 $60/년. 주 소득세 없음.
프라이버시에 좋음 (공개 멤버 정보 불필요).
- 델라웨어: 신청 $90, 연간 세금 $300/년. 인기 있지만 솔로
개발자에게 반드시 더 좋지는 않음.
- 뉴멕시코: 신청 $50, 연간 보고서 없음. 유지비 최저.
- 캘리포니아: 신청 $70, 최소 프랜차이즈 세금 $800/년.
비쌈. $0 수입이어도 이것을 지불합니다.
Stripe Atlas (다른 사람이 해주기를 원하면):
Stripe Atlas (https://atlas.stripe.com)는 $500이며, 델라웨어 LLC, 미국 은행 계좌(Mercury 통해), Stripe 계좌를 설정하고, 세무 및 법무 가이드를 제공합니다. 미국 외 거주자이거나 서류 작업을 다른 사람에게 맡기고 싶다면, $500의 가치가 있습니다.
영국 — 유한회사 (Ltd):
비용: Companies House (https://www.gov.uk/set-up-limited-company)에서 GBP 12
시간: 보통 24-48시간
계속: 연간 확인서 (GBP 13), 연간 회계 서류 제출
솔로 개발자용: 유한회사는 수익이 약 GBP 50,000/년을
초과하면 책임 보호와 세금 효율성을 제공합니다.
그 이하면 sole trader가 더 간단합니다.
유럽 연합:
각 국가에 자체 구조가 있습니다. 일반적인 옵션:
- 독일: GmbH (설립 비용이 높음) 또는 프리랜서 등록 (저렴)
- 네덜란드: BV 또는 eenmanszaak (개인사업)
- 프랑스: auto-entrepreneur (마이크로 기업) — 솔로 개발자에게 매우 흔함, 단순한 균일 세율
- 에스토니아: e-Residency + 에스토니아 OUe (디지털 노마드에게 인기, 약 EUR 190으로 완전한 EU 회사)
호주:
Sole trader: ABN 신청 (https://www.abr.gov.au)으로 무료 등록
회사 (Pty Ltd): ASIC에 AUD 538 등록
솔로 개발자용: sole trader로 시작합니다. 수입이 회계 오버헤드를
정당화하는 수준(약 AUD 100K+/년)이 되면 회사를 등록합니다.
5. 세금 의무
Lemon Squeezy를 결제 플랫폼으로 사용하는 경우, 판매 대행자로서 판매세와 VAT를 처리합니다. 이것은 엄청난 단순화입니다.
Stripe를 직접 사용하는 경우, 다음을 책임집니다:
- 미국 판매세: 주마다 다릅니다. Stripe Tax (거래당 $0.50) 또는 TaxJar로 자동화합니다.
- EU VAT: 국가에 따라 20-27%. 여러분의 위치에 관계없이 EU 고객에 대한 디지털 판매에 필요합니다. Lemon Squeezy가 처리; Stripe Tax로 자동화 가능합니다.
- 영국 VAT: 20%. 영국 매출이 GBP 85,000/년을 초과하면 필요합니다.
- 디지털 서비스세: 여러 국가에서 도입 중. 볼륨이 직접 관리할 가치가 생길 때까지 Lemon Squeezy를 사용하는 또 다른 이유입니다.
솔직한 이야기: 솔로 개발자에게 Lemon Squeezy가 Stripe보다 가장 큰 이점은 체크아웃 페이지나 기능이 아닙니다. 전 세계 세금 컴플라이언스를 처리해 주는 것입니다. 국제 판매세는 악몽입니다. Lemon Squeezy는 거래당 5% + $0.50으로 악몽을 해결합니다. 월 $5,000 이상을 벌기 전까지 5%는 가치가 있습니다. 이후에 Stripe + TaxJar로 직접 세금을 관리하는 것이 돈과 정신 건강 면에서 나은지 평가합니다.
6. 지적 재산 기초
알아야 할 것:
- 코드는 작성하는 순간 자동으로 저작권 보호를 받습니다. 등록이 필요 없습니다. 하지만 등록(미국: copyright.gov에서 $65)하면 분쟁 시 더 강한 법적 입장을 얻습니다.
- 제품 이름을 상표 등록할 수 있습니다. 출시에 필수는 아니지만, 제품이 성장하면 고려합니다. 미국 상표 출원: 클래스당 $250-350.
- 의존성의 오픈소스 라이선스가 중요합니다. MIT 라이선스 코드를 사용한다면 괜찮습니다. 상업 제품에서 GPL 라이선스 코드를 사용한다면, 제품을 오픈소스해야 할 수 있습니다. 판매 전에 의존성 라이선스를 확인합니다.
# 프로젝트의 의존성 라이선스 확인 (Node.js)
npx license-checker --summary
# 문제 있는 라이선스 구체적으로 확인
npx license-checker --failOn "GPL-2.0;GPL-3.0;AGPL-3.0"
# Rust 프로젝트의 경우
cargo install cargo-license
cargo license
7. 보험
$29 컴포넌트 라이브러리에 보험은 필요 없습니다. 다음 경우에 보험이 필요합니다:
- 오류가 고객 손실을 야기할 수 있는 서비스를 제공하는 경우 (컨설팅, 데이터 처리)
- 제품이 민감한 데이터를 다루는 경우 (의료, 금융)
- 엔터프라이즈 고객과 계약을 맺는 경우 (그들이 보험을 요구합니다)
필요할 때, 전문 책임 보험 (errors and omissions / E&O)은 솔로 개발자 비즈니스에 연 $500-1,500입니다.
여러분의 차례
-
고용 계약을 읽습니다. 고용되어 있다면, IP 조항과 경업 금지 조항을 찾습니다. 분류합니다: 안전 / 모호 / 제한적. 모호하거나 제한적이면, 출시 전에 노동 변호사와 상담합니다 (많은 곳에서 무료 30분 상담을 제공합니다).
-
법적 문서를 생성합니다. Termly 또는 Avodocs에서 제품의 개인정보 보호정책과 이용 약관을 생성합니다. HTML 또는 Markdown으로 저장합니다. 제품 도메인의
/privacy와/terms에 배포합니다. -
사업체 결정을 합니다. 위의 안내와 your country에서의 거주지를 기반으로 결정합니다: 개인사업자로 출시(가장 빠름) 또는 먼저 LLC/Ltd/equivalent 설립(더 많은 보호). 결정과 일정을 적어둡니다.
-
의존성을 확인합니다. 프로젝트에서 라이선스 체커를 실행합니다. 상업 제품을 판매하기 전에 GPL/AGPL 의존성을 해결합니다.
강의 5: 2026년에 작동하는 유통 채널
"만드는 것은 일의 20%입니다. 사람들 앞에 놓는 것이 나머지 80%입니다."
유통의 현실
대부분의 개발자 제품이 실패하는 것은 나빠서가 아니라, 아무도 존재를 모르기 때문입니다. 유통 — 잠재 고객 앞에 제품을 놓는 것 — 은 대부분의 개발자가 가장 약한 스킬입니다. 그리고 가장 중요한 스킬입니다.
노력, 타임라인, 예상 수익으로 랭킹한 7개 유통 채널을 보여드립니다. 7개 모두 필요하지 않습니다. 여러분의 강점과 오디언스에 맞는 2-3개를 선택합니다.
채널 1: Hacker News
노력: 높음 | 타임라인: 즉시 (0-48시간) | 특성: 대박 아니면 쪽박
Hacker News (https://news.ycombinator.com)는 개발자 제품에서 레버리지가 가장 높은 단일 이벤트 유통 채널입니다. 프론트페이지 Show HN 게시글은 24시간에 5,000-30,000 방문자를 보낼 수 있습니다. 하지만 예측 불가능합니다 — 대부분의 게시글은 트랙션이 0입니다.
HN에서 작동하는 것:
- 흥미로운 구현 세부사항이 있는 기술 제품
- 프라이버시 중심 도구 (HN 오디언스는 프라이버시를 깊이 중시)
- 유료 티어가 있는 오픈소스 도구
- 알려진 문제에 대한 참신한 솔루션
- 라이브 데모가 있는 제품
HN에서 작동하지 않는 것:
- 마케팅 중심의 출시 ("혁명적인 AI 기반...")
- 독자적 가치가 없는 다른 제품의 래퍼
- 광고처럼 느껴지는 것
Show HN 플레이북:
게시 전:
1. 여러분 카테고리의 최근 성공한 Show HN 게시글을 연구합니다
https://hn.algolia.com — "Show HN"으로 필터, 점수순 정렬
2. 게시글 제목 준비: "Show HN: [이름] – [무엇을 하는지, 70자 미만]"
좋은 예: "Show HN: ScrubLog – Strip PII from Log Files in One Command"
나쁜 예: "Show HN: Introducing ScrubLog, the AI-Powered Log Anonymization Platform"
3. 라이브 데모 준비 (HN 독자는 읽지 않고 직접 시도하고 싶어합니다)
4. 예상 질문에 대한 답변 준비 (기술적 결정, 가격 근거)
게시 시:
5. 화요일~목요일 미국 동부 시간 오전 7-9시에 게시합니다
(트래픽 최대, 트랙션 확률 최고)
6. 게시글 본문은 4-6단락:
- 무엇인지 (1단락)
- 왜 만들었는지 (1단락)
- 기술적 세부사항 (1-2단락)
- 무엇을 찾고 있는지 (피드백, 구체적인 질문)
게시 후:
7. 게시 후 4시간 동안 온라인 상태를 유지합니다. 모든 댓글에 답글합니다.
8. 겸손하고 기술적으로 행동합니다. HN은 한계에 대한 솔직함을 보상합니다.
9. 누군가가 버그를 발견하면, 즉시 수정하고 "Fixed, thanks."라고 답글합니다.
10. 친구에게 업보트를 부탁하지 않습니다. HN에는 투표 조작 감지가 있습니다.
예상 결과 (현실적):
- Show HN 게시글의 70%: 10점 미만, 500 방문자 미만
- Show HN 게시글의 20%: 10-50점, 500-3,000 방문자
- Show HN 게시글의 10%: 50점 이상, 3,000-30,000 방문자
노력으로 확률을 높일 수 있는 복권입니다. 좋은 제품과 좋은 게시글이 있으면 의미 있는 트랙션을 얻을 확률이 약 30%입니다. 보장되지 않습니다. 하지만 상방은 엄청납니다.
채널 2: Reddit
노력: 중간 | 타임라인: 1-7일 | 특성: 지속적, 반복 가능
Reddit은 개발자 제품에서 가장 일관된 유통 채널입니다. HN(한 번의 기회)과 달리, Reddit에는 제품과 관련된 수백 개의 니치 서브레딧이 있습니다.
서브레딧 선택:
일반 개발자 서브레딧:
- r/SideProject (140K+ 멤버) — 바로 이 목적으로 만들어짐
- r/webdev (2.4M 멤버) — 거대, 경쟁 치열
- r/programming (6.3M 멤버) — 매우 경쟁적, 뉴스 중심
- r/selfhosted (400K+ 멤버) — 셀프 호스팅 가능 제품이면
프레임워크/언어별:
- r/reactjs, r/nextjs, r/sveltejs, r/vuejs — 프론트엔드 도구
- r/rust, r/golang, r/python — 언어별 도구
- r/node — Node.js 도구와 패키지
도메인별:
- r/devops — 인프라/배포 도구
- r/machinelearning — AI/ML 도구
- r/datascience — 데이터 도구
- r/sysadmin — 관리/모니터링 도구
롱테일:
- 특정 니치와 관련된 서브레딧 검색
- 작은 서브레딧(10K-50K 멤버)이 거대한 것보다
전환율이 높은 경우가 많습니다
Reddit 참여 규칙:
- 제품을 게시하기 전에 실제 Reddit 히스토리를 가지고 있어야 합니다. 자기 홍보만 게시하는 계정은 플래그되고 섀도우밴됩니다.
- 자기 홍보에 대한 각 서브레딧의 규칙을 따릅니다. 대부분 기여하는 멤버인 한 허용합니다.
- 진심으로 참여합니다. 질문에 답하고, 가치를 제공하고, 다른 게시글의 댓글에서 도움이 됩니다. 그런 다음 제품을 공유합니다.
- 다른 서브레딧에 다른 시간에 게시합니다. 피크 활동 시간은 https://later.com/reddit 또는 유사 도구에서 확인합니다.
예상 결과 (현실적):
- r/SideProject 게시글: 20-100 업보트, 200-2,000 방문자
- 니치 서브레딧 (50K 멤버): 10-50 업보트, 100-1,000 방문자
- r/webdev 프론트페이지: 100-500 업보트, 2,000-10,000 방문자
채널 3: Twitter/X
노력: 중간 | 타임라인: 모멘텀 구축에 2-4주 | 특성: 시간이 지나면 복리
Twitter는 천천히 구축하는 채널입니다. 첫 번째 출시 트윗은 친구들로부터 5개 좋아요를 받을 것입니다. 하지만 빌드 과정을 꾸준히 공유하면, 오디언스가 복리로 증가합니다.
빌드인퍼블릭 전략:
1주차: 빌드 과정 공유 시작 (출시 전)
- "[제품 유형]을 만들고 있습니다. 해결하는 문제: [스크린샷]"
- "[제품] 만들기 3일차. [기능]이 작동합니다: [GIF/스크린샷]"
2주차: 빌드에서의 기술적 인사이트 공유
- "오늘 배운 것: [제품 유형]을 만들 때 [기술적 교훈]이 필요합니다"
- "아키텍처 결정: [이유]로 [Y] 대신 [X]를 선택했습니다"
3주차: 출시
- 출시 스레드 (강의 1의 포맷)
- 구체적인 메트릭 공유: "1일차: X 방문자, Y 가입"
4주차 이후: 계속
- 고객 피드백 공유 (허락을 받고)
- 수익 마일스톤 공유 (사람들은 실제 숫자를 좋아합니다)
- 도전과 해결 방법 공유
누구와 상호작용할 것인지:
- 니치의 개발자를 팔로우하고 상호작용합니다
- 큰 계정의 트윗에 사려 깊은 댓글을 답글합니다 (자기 홍보가 아닌)
- 주제 영역과 관련된 Twitter Spaces에 참여합니다
- 관련 토론에 여러분의 관점으로 인용 트윗합니다
예상 결과 (현실적):
- 팔로워 0-500: 출시 트윗에 5-20 좋아요, 100 방문자 미만
- 팔로워 500-2,000: 출시 트윗에 20-100 좋아요, 100-500 방문자
- 팔로워 2,000-10,000: 출시 트윗에 100-500 좋아요, 500-5,000 방문자
Twitter는 6개월 투자이지, 출시 당일 전략이 아닙니다. 제품 준비가 되기 전이라도 지금 시작합니다.
채널 4: Product Hunt
노력: 높음 | 타임라인: 1일 집중 활동 | 특성: 일회성 부스트
Product Hunt (https://producthunt.com)는 전용 출시 플랫폼입니다. 일일 톱5는 3,000-15,000 방문자를 보낼 수 있습니다. 하지만 준비가 필요합니다.
Product Hunt 출시 체크리스트:
2주 전:
- [ ] Product Hunt 메이커 프로필 생성
- [ ] PH 리스팅 구축: 태그라인, 설명, 이미지, 비디오
- [ ] 4-5개 고품질 스크린샷/GIF 준비
- [ ] 동기를 설명하는 "첫 번째 댓글" 작성
- [ ] 출시일에 지원할 10-20명 확보 (가짜 투표가 아닌 —
제품을 시도하고 진심 어린 댓글을 남길 실제 사람들)
- [ ] "헌터" (PH 팔로워가 많은 사람이 제품을 제출) 찾기
또는 직접 제출
출시일 (태평양 시간 오전 0:01):
- [ ] 태평양 시간 자정부터 온라인. PH는 자정에 리셋됩니다.
- [ ] 즉시 "첫 번째 댓글" 게시
- [ ] Twitter, LinkedIn, 이메일, Discord에서 PH 링크 공유
- [ ] PH 리스팅의 모든 댓글에 답글
- [ ] 하루 내내 업데이트 게시 ("[X]의 수정을 출시했습니다!")
- [ ] 태평양 시간 자정까지 종일 모니터링
이후:
- [ ] 지원해 준 모든 사람에게 감사
- [ ] "배운 교훈" 게시글 작성 (Twitter/블로그 콘텐츠로 좋음)
- [ ] 랜딩 페이지에 PH 배지 삽입 (소셜 프루프)
흔한 실수: 제품이 준비되기 전에 Product Hunt에서 출시하는 것입니다. PH는 한 번의 기회를 줍니다. 한번 제품을 출시하면 재출시할 수 없습니다. 제품이 다듬어지고, 랜딩 페이지가 전환되고, 결제 플로우가 작동할 때까지 기다립니다. PH는 "대형 출시"여야 합니다 — 소프트 출시가 아닙니다.
예상 결과 (현실적):
- 일일 톱5: 3,000-15,000 방문자, 50-200 업보트
- 일일 톱10: 1,000-5,000 방문자, 20-50 업보트
- 톱10 이하: 1,000 방문자 미만. 지속적 영향 최소.
채널 5: Dev.to / Hashnode / 기술 블로그 글
노력: 낮음-중간 | 타임라인: SEO 결과까지 1-3개월 | 특성: 롱테일, 영원히 복리
제품과 관련된 문제를 해결하는 기술 블로그 글을 쓰고, 제품을 솔루션으로 언급합니다.
콘텐츠 전략:
각 제품에 대해 3-5개 블로그 글을 씁니다:
1. "2026년에 [제품이 해결하는 문제]를 해결하는 방법"
- 수동 접근법을 가르치고, 제품을 지름길로 언급
2. "[제품]을 48시간에 만들었습니다 — 배운 것"
- 빌드인퍼블릭 콘텐츠. 기술적 세부사항 + 솔직한 회고.
3. "[경쟁사] vs [제품]: 솔직한 비교"
- 정말 공정하게. 경쟁사가 이기는 점도 언급합니다.
- 비교 쇼핑 검색 트래픽을 캡처합니다.
4. "[제품과 관련된 기술 개념] 설명"
- 순수한 교육. 마지막에 제품을 한 번만 언급합니다.
5. "2026년에 [제품의 도메인]에서 사용하는 도구들"
- 리스트 형식. 다른 도구와 함께 제품을 포함합니다.
게시 장소:
- Dev.to (https://dev.to) — 큰 개발자 오디언스, 좋은 SEO, 무료
- Hashnode (https://hashnode.com) — 좋은 SEO, 커스텀 도메인 옵션, 무료
- 자체 블로그 — 장기 SEO에 최적, 콘텐츠를 소유
- 모든 곳에 크로스 포스팅합니다. 한 번 쓰고, 세 곳 모두에 게시합니다. SEO 페널티를 피하기 위해 canonical URL을 사용합니다.
글당 예상 결과:
- 1일차: 100-1,000 조회 (플랫폼 배포)
- 1-3개월: 50-200 조회/월 (검색 트래픽 구축 중)
- 6개월 이후: 100-500 조회/월 (복리적 검색 트래픽)
잘 쓴 하나의 블로그 글이 수년간 월 200명 이상의 방문자를 보낼 수 있습니다. 5개의 글이면 월 1,000명 이상입니다. 이것이 복리입니다.
채널 6: 직접 접촉
노력: 높음 | 타임라인: 즉시 | 특성: 최고 전환율
콜드 이메일과 DM은 모든 채널 중 최고의 전환율을 가집니다 — 하지만 리드당 노력도 가장 높습니다. 고가 제품($99+)이나 B2B 판매에 사용합니다.
잠재 고객에게 보내는 이메일 템플릿:
제목: Quick question about [그들의 구체적인 페인 포인트]
Hi [이름],
I saw your [트윗/게시글/댓글] about [그들이 언급한 구체적인 문제].
I built [제품명] specifically for this — it [무엇을 하는지
한 문장 설명].
Would you be open to trying it? Happy to give you free access
for feedback.
[여러분의 이름]
[제품 링크]
콜드 아웃리치 규칙:
- 제품이 해결하는 문제를 공개적으로 표현한 사람에게만 연락합니다
- 그들의 구체적인 게시글/댓글을 참조합니다 (대량 발송이 아님을 증명)
- 즉시 돈을 요구하기보다 가치를 제공합니다 (무료 접근, 할인)
- 5문장 이내로 유지합니다
- 실제 이메일 주소에서 보냅니다 (gmail이 아닌 you@yourdomain.com)
- 3-4일 후 한 번 팔로업합니다. 응답 없으면 중단합니다.
예상 결과:
- 응답률: 10-20% (관련 수신자에게 보낸 콜드 이메일)
- 응답에서 트라이얼까지 전환: 30-50%
- 트라이얼에서 유료까지 전환: 20-40%
- 유효 전환: 이메일 보낸 사람의 1-4%가 고객이 됩니다
$99 제품의 경우, 100명에게 이메일 = 1-4건 판매 = $99-396. 확장 가능하지 않지만, 초기 고객과 피드백을 얻기에 훌륭합니다.
채널 7: SEO
노력: 낮은 지속 비용 | 타임라인: 결과까지 3-6개월 | 특성: 영원히 복리
SEO는 최고의 장기 유통 채널입니다. 시작이 느리지만 일단 작동하면 무기한으로 무료 트래픽을 보냅니다.
개발자 중심 SEO 전략:
1. 롱테일 키워드를 타겟합니다 (랭킹하기 더 쉬움):
이것 대신: "dashboard components"
타겟: "tailwind dashboard components react typescript"
2. 키워드당 하나의 페이지를 만듭니다:
각 블로그 글 또는 문서 페이지가 하나의 구체적인 검색 쿼리를 타겟
3. 기술적 구현:
- 빠른 로딩을 위한 정적 사이트 생성 사용 (Astro, Next.js SSG)
- 모든 페이지에 메타 디스크립션 추가
- 시맨틱 HTML 사용 (h1, h2, h3 계층)
- 모든 이미지에 alt 텍스트 추가
- Google Search Console에 사이트맵 제출
4. 개발자 도구에서 랭킹되는 콘텐츠:
- 문서 페이지 (SEO에 의외로 좋음)
- 비교 페이지 ("X vs Y")
- 튜토리얼 페이지 ("Y로 X하는 방법")
- 변경 이력 페이지 (Google에 대한 신선한 콘텐츠 시그널)
# Google Search Console에 사이트맵 제출
# 1. https://search.google.com/search-console 에 접속
# 2. 속성 추가 (도메인 또는 URL 프리픽스)
# 3. 소유권 확인 (DNS TXT 레코드 또는 HTML 파일)
# 4. 사이트맵 URL 제출: yourdomain.com/sitemap.xml
# Astro를 사용하는 경우:
pnpm add @astrojs/sitemap
# 사이트맵은 /sitemap.xml에 자동 생성됩니다
# Next.js를 사용하는 경우, next-sitemap.config.js에 추가:
# pnpm add next-sitemap
예상 결과:
- 1-3개월: 오가닉 트래픽 최소 (월 100 미만)
- 3-6개월: 증가하는 트래픽 (월 100-500)
- 6-12개월: 상당한 트래픽 (월 500-5,000)
- 12개월 이후: 노력 없이 증가하는 복리적 트래픽
채널 선택 프레임워크
7개 모두를 잘 할 수는 없습니다. 이 매트릭스에 기반해 2-3개를 선택합니다:
| 여러분이... | 우선순위 | 건너뛸 것 |
|---|---|---|
| 이번 주말에 출시 | Reddit + HN | SEO, Twitter (너무 느림) |
| 먼저 오디언스 구축 | Twitter + 블로그 글 | 직접 접촉, PH |
| $99+ 제품 판매 | 직접 접촉 + HN | Dev.to (오디언스가 무료를 기대) |
| 장기전 | SEO + 블로그 글 + Twitter | PH (일회성, 나중에 사용) |
| 비영어권 | Dev.to + Reddit (글로벌) | HN (미국 중심) |
강의 6: 출시 체크리스트
"희망은 출시 전략이 아닙니다. 체크리스트입니다."
출시 전 체크리스트
모든 항목을 확인합니다. 모든 "필수" 항목이 체크될 때까지 출시하지 마십시오. "권장" 항목은 필요하면 1주차에 할 수 있습니다.
제품 (필수):
- [ ] 코어 기능이 랜딩 페이지 설명대로 작동
- [ ] 구매 → 배달 플로우에 치명적 버그 없음
- [ ] Chrome, Firefox, Safari에서 작동 (웹 제품)
- [ ] 모바일 반응형 랜딩 페이지 (트래픽의 50%+가 모바일)
- [ ] 에러 메시지가 도움이 됨, 스택 트레이스가 아님
- [ ] 비동기 작업에 로딩 상태
랜딩 페이지 (필수):
- [ ] 명확한 헤드라인: 8단어 이하로 무엇을 하는지
- [ ] 문제 서술: 고객 언어로 3가지 페인 포인트
- [ ] 솔루션 섹션: 제품 스크린샷 또는 데모
- [ ] 가격: 보이고, 명확하고, 구매 버튼 포함
- [ ] 행동 촉구: 하나의 주요 버튼, 스크롤 없이 보임
- [ ] 개인정보 보호정책이 푸터에 링크됨
- [ ] 이용 약관이 푸터에 링크됨
결제 (필수):
- [ ] 체크아웃 플로우를 테스트 모드에서 엔드투엔드 테스트
- [ ] 체크아웃 플로우를 라이브 모드에서 엔드투엔드 테스트 ($1 테스트 구매)
- [ ] 웹훅이 결제 확인을 수신
- [ ] 고객이 결제 후 제품 접근 권한을 받음
- [ ] 환불 프로세스가 문서화됨 (환불 요청은 반드시 옵니다)
- [ ] 영수증/인보이스가 자동 전송됨
인프라 (필수):
- [ ] 커스텀 도메인이 라이브 사이트를 가리킴
- [ ] HTTPS 작동 (녹색 자물쇠)
- [ ] 가동시간 모니터링 활성화
- [ ] 분석 스크립트가 설치되고 데이터 수신 중
- [ ] 연락 이메일 작동 (you@yourdomain.com)
유통 (필수):
- [ ] Reddit 게시글 초안 작성 및 준비 완료
- [ ] Show HN 게시글 초안 작성 및 준비 완료 (해당 시)
- [ ] Twitter 출시 스레드 초안 작성 완료
- [ ] 공유를 위한 2-3개 커뮤니티 파악 완료
권장 (1주차):
- [ ] 소셜 공유 프리뷰용 OpenGraph 메타 태그
- [ ] 커스텀 404 페이지
- [ ] FAQ 페이지 또는 섹션
- [ ] 고객 온보딩 이메일 시퀀스 (환영 + 시작 가이드)
- [ ] 변경 이력 페이지 (비어 있어도 — 업데이트 의지를 보여줌)
- [ ] 블로그 글: "[제품]을 48시간에 만들었습니다"
- [ ] Google Search Console 인증 및 사이트맵 제출
출시 후 행동 항목
1일차 (출시일):
오전:
- [ ] Reddit에 게시 (r/SideProject + 니치 서브레딧 1개)
- [ ] Show HN 게시 (해당하는 경우)
- [ ] Twitter 출시 스레드 게시
종일:
- [ ] Reddit, HN, Twitter의 모든 댓글에 답글
- [ ] 에러 로그와 분석을 실시간 모니터링
- [ ] 사용자가 발견한 버그를 즉시 수정
- [ ] 모든 고객에게 개인 감사 이메일 전송
저녁:
- [ ] 메트릭 확인: 방문자수, 전환율, 수익
- [ ] 분석 대시보드 스크린샷 (나중에 필요합니다)
- [ ] 가장 많았던 피드백 3가지 기록
1주차:
- [ ] 모든 피드백과 지원 요청에 24시간 이내 응답
- [ ] 출시 중 발견된 상위 3개 버그/이슈 수정
- [ ] 첫 번째 블로그 글 작성 및 게시
- [ ] 모든 고객에게 피드백을 요청하는 팔로업 이메일 전송
- [ ] 분석 검토: 어떤 페이지의 이탈률이 가장 높은지?
- [ ] 간단한 피드백 수집 방법 설정 (이메일, Typeform 또는 Canny)
기록할 주간 메트릭:
| 메트릭 | 타겟 | 실제 |
|---------------------|---------|--------|
| 고유 방문자 | 500+ | |
| 체크아웃 클릭률 | 2-5% | |
| 구매 전환율 | 1-3% | |
| 수익 | $50+ | |
| 지원 요청 | 10건 미만 | |
| 환불 요청 | 2건 미만 | |
1개월차:
- [ ] 고객 피드백 기반 4회 주간 개선 출시
- [ ] 2+개 블로그 글 게시 (SEO 구축)
- [ ] 고객으로부터 3+개 추천사 수집
- [ ] 추천사를 랜딩 페이지에 추가
- [ ] 가격 평가: 너무 높은지? 너무 낮은지? (전환 데이터 검토)
- [ ] Product Hunt의 "대형 출시" 계획 (해당하는 경우)
- [ ] 향후 제품 출시를 위한 이메일 리스트 구축 시작
- [ ] 유통 채널 전략 검토 및 조정
월간 재무 검토:
| 카테고리 | 금액 |
|---------------------|---------|
| 총 수익 | $ |
| 결제 프로세서 수수료 | $ |
| 호스팅/인프라 비용 | $ |
| API 비용 | $ |
| 순이익 | $ |
| 투자한 시간 | |
| 유효 시급 | $ |
메트릭 대시보드
매일 확인하는 간단한 메트릭 대시보드를 설정합니다. 화려할 필요 없습니다 — 스프레드시트면 됩니다.
=== 일간 메트릭 (매일 아침 확인) ===
날짜: ___
어제 방문자수: ___
어제 신규 고객수: ___
어제 수익: $___
지원 요청: ___
가동시간: ___%
=== 주간 메트릭 (매주 월요일 확인) ===
해당 주: ___
총 방문자수: ___
총 고객수: ___
총 수익: $___
전환율: ___% (고객수 / 방문자수)
가장 많이 방문한 페이지: ___
최대 트래픽 소스: ___
최대 피드백 테마: ___
=== 월간 메트릭 (매월 1일 확인) ===
월: ___
총 수익: $___
총 비용: $___
순이익: $___
총 고객수: ___
환불: ___
이탈률 (구독): ___%
MRR (월간 반복 수익): $___
전월 대비 성장률: ___%
프라이버시 존중 분석 설정:
// Plausible을 사용하는 경우, 대부분은 대시보드에서 볼 수 있습니다.
// 커스텀 이벤트 트래킹:
// 체크아웃 클릭 추적
document.querySelector('#buy-button').addEventListener('click', () => {
plausible('Checkout Click', {
props: { tier: 'pro', price: '59' }
});
});
// 구매 성공 추적 (웹훅 성공 핸들러에서 호출)
plausible('Purchase', {
props: { tier: 'pro', revenue: '59' }
});
언제 가속, 전환, 철수할 것인지
30일간의 데이터 후, 결정을 내리기에 충분한 신호가 있습니다:
가속 (계속, 더 투자):
신호:
- 수입이 주마다 성장 (느리더라도)
- 고객이 구체적인 기능 요청 제공 (더 원합니다)
- 전환율이 안정적이거나 개선 중
- 오가닉 트래픽 발생 (여러분의 게시글 없이도 찾고 있음)
- 최소 한 명의 고객이 "이것이 [시간/돈]을 절약해 주었다"고 말함
행동:
- 유통 노력 확대 (채널 추가)
- 가장 많이 요청된 기능 출시
- 가격을 약간 인상
- 향후 출시를 위한 이메일 리스트 구축 시작
전환 (각도를 바꾸고, 코어는 유지):
신호:
- 방문자는 있지만 판매 없음 (관심은 있지만 구매하지 않음)
- 예상 외 오디언스에서 판매 (타겟과 다른 사람들이 구매)
- 고객이 예상과 다른 방식으로 제품 사용
- 피드백이 일관되게 해결 중인 것과 다른 문제를 지적
행동:
- 실제 오디언스/사용 사례에 맞게 랜딩 페이지 재작성
- 실제 오디언스의 지불 의향에 맞게 가격 조정
- 사람들이 실제로 사용하는 것으로 기능 우선순위 재조정
- 코드는 유지, 포지셔닝을 변경
철수 (멈추고, 배우고, 다른 것을 만들기):
신호:
- 유통 노력에도 불구하고 방문자 없음 (수요 문제)
- 방문자는 있지만 체크아웃 클릭 0 (조정 후에도
지속되는 포지셔닝/가격 문제)
- 4주 이상 수입 정체, 성장 추세 없음
- 작업하는 것이 두려움 (솔로 제품에 동기가 중요)
- 시장이 변했음 (경쟁사 출시, 기술 변경)
행동:
- 포스트모템 작성: 무엇이 효과가 있었고, 없었고, 배운 것
- 코드 보관 — 다음 제품에 부분적으로 유용할 수 있음
- 빌딩에서 일주일 쉬기
- 새 아이디어의 검증 프로세스 시작
- 이것은 실패가 아닙니다. 이것은 데이터입니다. 대부분의 제품은 작동하지 않습니다.
돈을 버는 개발자는 하나의 제품에 1년을 보내는 사람이 아니라,
5개의 제품을 출시하는 사람입니다.
출시 문서 템플릿
이것은 모듈 E의 결과물입니다. 이 문서를 만들고 출시를 실행하면서 채웁니다.
# 출시 문서: [제품명]
## 출시 전
### 검증 요약
- **검색량:** [Google Trends/Ahrefs에서의 수치]
- **스레드 증거:** [수요를 보여주는 5+개 스레드 링크]
- **경쟁사 조사:** [강점/약점이 포함된 3+개 경쟁사]
- **"10명이 지불할 것" 증거:** [어떻게 검증했는지]
### 제품
- **URL:** [라이브 제품 URL]
- **도메인:** [구매한 도메인]
- **호스팅:** [플랫폼]
- **코어 기능 (v0.1):**
1. [기능 1]
2. [기능 2]
3. [기능 3]
### 가격
- **가격:** $[금액]
- **티어 구조:** [Basic/Pro/Team 또는 단일 티어]
- **결제 플랫폼:** [Lemon Squeezy/Stripe]
- **체크아웃 URL:** [링크]
### 법적
- **개인정보 보호정책:** [URL]
- **이용 약관:** [URL]
- **사업체:** [유형 또는 "개인사업자"]
## 출시
### 유통 채널
| 채널 | 게시 URL | 게시일 | 결과 |
|---------|----------|-----------|------|
| Reddit | [링크] | [날짜] | [방문자, 업보트] |
| HN | [링크] | [날짜] | [방문자, 포인트] |
| Twitter | [링크] | [날짜] | [임프레션, 클릭] |
### 1일차 메트릭
- 방문자수: ___
- 체크아웃 클릭수: ___
- 구매수: ___
- 수익: $___
### 1주차 메트릭
- 총 방문자수: ___
- 총 구매수: ___
- 총 수익: $___
- 전환율: ___%
- 최다 피드백: ___
### 1개월차 메트릭
- 총 수익: $___
- 총 비용: $___
- 순이익: $___
- 총 고객수: ___
- 결정: [ ] 가속 [ ] 전환 [ ] 철수
## 출시 후 로드맵
- 2주차: [계획한 개선]
- 3주차: [계획한 개선]
- 4주차: [계획한 개선]
- 2개월차: [계획한 기능/확장]
## 배운 교훈
- 효과가 있었던 것: ___
- 효과가 없었던 것: ___
- 다르게 할 것: ___
4DA 통합
4DA 통합: 4DA의 실행 가능 시그널은 콘텐츠를 긴급도로 분류합니다. 인기 패키지의 취약점에 대한 "크리티컬" 시그널은: 누구보다 먼저 지금 수정 도구나 마이그레이션 도구를 만들라는 뜻입니다. 새 프레임워크에 대한 "상승 추세" 시그널은: 경쟁이 거의 0인 이번 주말에 스타터 키트를 만들라는 뜻입니다. 강의 1의 48시간 스프린트는 아이디어가 시간에 민감한 시그널에서 올 때 가장 잘 작동합니다. 4DA 인텔리전스 피드를 스프린트 캘린더에 연결하십시오 — 고긴급 기회가 나타나면, 다음 주말을 블록하고 실행합니다. 기회를 잡는 개발자와 놓치는 개발자의 차이는 재능이 아닙니다. 속도입니다. 4DA가 레이더를 줍니다. 이 모듈이 출시 시퀀스를 줍니다. 합치면, 시그널을 수익으로 변환합니다.
여러분의 차례
-
출시 전 체크리스트를 완료합니다. 모든 항목을 확인합니다. 각각 완료 표시하거나 일정을 잡습니다. "필수" 항목은 건너뛰지 마십시오.
-
출시 문서를 만듭니다. 위의 템플릿을 선호하는 문서 도구에 복사합니다. 지금 아는 모든 것을 채워 넣습니다. 출시 중과 후에 채울 지표는 빈칸으로 남깁니다.
-
출시 날짜를 정합니다. 캘린더를 엽니다. 앞으로 2주 이내의 특정 토요일을 선택합니다. 적어둡니다. 누군가에게 말합니다 — 친구, 파트너, Twitter 팔로워. 책임감이 그것을 현실로 만듭니다.
-
철수 기준을 정합니다. 출시 전에 결정합니다: "[Y] 유통 노력에도 불구하고 30일 동안 [X]건 미만의 판매면, [전환/철수]하겠다." 출시 문서에 씁니다. 사전에 약속한 기준이 있으면 매몰 비용 오류로 죽은 제품에 몇 달을 쏟아붓는 것을 방지합니다.
-
출시합니다. 플레이북이 있습니다. 도구가 있습니다. 지식이 있습니다. 남은 것은 행동뿐입니다. 인터넷이 기다리고 있습니다.
모듈 E: 완료
2주 동안 구축한 것
이 모듈을 시작할 때 없었지만 지금 가지고 있는 것을 봅시다:
- 48시간 실행 프레임워크 만드는 모든 제품에 반복할 수 있습니다 — 검증된 아이디어에서 라이브 제품까지 한 주말.
- 출시 마인드셋 완벽보다 존재를, 추측보다 데이터를, 계획보다 반복을 우선시합니다.
- 가격 전략 희망과 저가가 아닌 실제 심리학과 실제 숫자에 기반합니다.
- 법적 기반 마비시키지 않으면서 보호합니다 — 개인정보 보호정책, 이용 약관, 사업체 계획.
- 유통 플레이북 7개 채널의 구체적인 템플릿, 타이밍, 예상 결과.
- 출시 체크리스트와 추적 시스템 혼돈을 프로세스로 바꿉니다 — 반복 가능, 측정 가능, 개선 가능.
- 라이브 제품, 결제 수락 중, 실제 사람들이 방문 중.
마지막 것이 중요합니다. 나머지는 모두 준비입니다. 제품이 증거입니다.
다음 단계: 모듈 E2 — 진화하는 엣지
모듈 E1이 출시까지 이끌었습니다. 모듈 E2는 앞서가게 유지합니다.
모듈 E2가 다루는 내용:
- 트렌드 감지 시스템 — 기회가 명확해지기 2-4주 전에 발견하는 방법
- 경쟁 모니터링 — 여러분의 영역에서 다른 사람들이 무엇을 만들고 얼마에 파는지 추적
- 기술 물결 타기 — 제품에 새 기술을 채택할 때와 기다릴 때
- 고객 개발 — 처음 10명의 고객을 제품 자문 위원회로 전환
- 두 번째 제품 결정 — 제품 #2를 만들 때 vs 제품 #1을 개선할 때
꾸준한 수입을 얻는 개발자는 한 번 출시하고 끝나는 사람이 아닙니다. 출시하고, 반복하고, 시장을 앞서가는 사람입니다. 모듈 E2가 앞서가기 위한 시스템을 제공합니다.
STREETS 전체 로드맵
| 모듈 | 제목 | 초점 | 기간 |
|---|---|---|---|
| S | 주권 설정 | 인프라, 법적, 예산 | 1-2주차 |
| T | 기술적 해자 | 방어 가능한 우위, 독점 자산 | 3-4주차 |
| R | 수익 엔진 | 코드가 포함된 구체적인 수익화 플레이북 | 5-8주차 |
| E | 실행 플레이북 | 출시 시퀀스, 가격 설정, 첫 고객 | 9-10주차 (완료) |
| E | 진화하는 엣지 | 앞서가기, 트렌드 감지, 적응 | 11-12주차 |
| T | 전술적 자동화 | 패시브 인컴을 위한 운영 자동화 | 13-14주차 |
| S | 스트림 쌓기 | 다중 수입원, 포트폴리오 전략 | 15-16주차 |
여러분은 절반 지점을 지났습니다. 라이브 제품이 있습니다. 이것은 독립적인 수입을 원하지만 여기까지 도달하지 못한 개발자의 95%보다 앞서 있다는 뜻입니다.
STREETS 진행: 0 / 7 모듈 완료.
이제 성장시킵니다.
제품이 라이브입니다. 체크아웃이 작동합니다. 사람들이 돈을 지불할 수 있습니다.
이후의 모든 것은 최적화입니다. 그리고 최적화가 재미있는 부분입니다.
여러분의 머신. 여러분의 규칙. 여러분의 수익.