Minbook
EN
PLG에서 공유 기능이 왜 첫 번째인가 — mmu share 설계 기록

PLG에서 공유 기능이 왜 첫 번째인가 — mmu share 설계 기록

MJ · · 3 분 소요

Make Me Unicorn의 PLG 성장을 위해 설계한 3가지 공유 요소(점수 카드, 배지, 체크리스트 커스텀 링크)의 심리적 기제와 바이럴 루프 구현 전략 기록

Product-Led Growth의 첫 번째 질문

PLG(Product-Led Growth)는 “제품 자체가 마케팅 채널”이라는 접근입니다. 영업팀 없이, 광고 없이, 제품의 사용 경험이 새로운 사용자를 데려옵니다.

MMU 같은 CLI 도구에서 PLG가 작동하려면, 사용자가 결과를 공유해야 합니다. 체크리스트를 돌리고, 결과를 보고, “이거 괜찮네” 하고 혼자 끝내면 성장은 없습니다.

graph LR
    A["사용자가\nMMU 실행"] --> B["체크리스트 결과\n확인"]
    B --> C{"공유할\n동기가\n있나?"}
    C -->|"YES"| D["결과 카드\n공유"]
    C -->|"NO"| E["여기서 끝\n(성장 없음)"]
    D --> F["새 사용자가\n발견"]
    F --> A

    style E fill:#ffebee,stroke:#f44336
    style D fill:#e8f5e9,stroke:#4caf50

왜 공유 기능이 “첫 번째”인가

MMU의 로드맵에서 mmu share를 가장 먼저 만든 이유:

우선순위 비교

기능사용자 가치성장 기여구현 난이도우선순위
share (결과 공유)중간높음낮음1순위
compare (이전 결과 비교)높음없음중간2순위
export (PDF 리포트)높음낮음중간3순위
dashboard (웹 대시보드)높음중간높음4순위

성장 기여가 가장 높은 기능을 먼저 만듭니다. 사용자 가치가 아무리 높아도, 사용자 수가 0이면 의미 없습니다. 사용자 수를 늘리는 기능이 먼저입니다.

공유 → 발견 → 사용 루프

graph TD
    subgraph LOOP["PLG 성장 루프"]
        U["사용(Use)"] --> S["공유(Share)"]
        S --> D["발견(Discover)"]
        D --> U
    end

    subgraph METRICS["각 단계의 지표"]
        M1["주간 실행 수"]
        M2["공유 카드 생성 수"]
        M3["공유 → 설치 전환율"]
    end

    U --> M1
    S --> M2
    D --> M3

이 루프에서 공유가 없으면 발견이 없고, 발견이 없으면 성장이 없습니다. 그래서 share가 첫 번째입니다.


Plain Text 카드를 선택한 이유

선택지 비교

방식장점단점
이미지 카드 (PNG)시각적으로 매력적서버 필요 (이미지 생성), CLI에서 부자연스러움
웹 링크 (URL)풍부한 정보서버 필요, 호스팅 비용
Plain text서버 불필요, 어디든 붙여넣기 가능시각적으로 단순
JSON export데이터 풍부일반인이 읽기 어려움

Plain text를 선택한 이유:

  1. 서버 불필요: MMU는 CLI 도구. 서버를 운영하지 않습니다. 이미지 생성이나 웹 호스팅은 인프라 비용과 유지보수를 발생시킵니다.
  2. 범용성: 텍스트는 Twitter, Slack, Discord, GitHub, 블로그, 이메일 — 어디에든 붙여넣을 수 있습니다.
  3. CLI 맥락에 자연스러움: CLI 사용자는 텍스트 환경에 익숙합니다. 이미지보다 텍스트가 더 “CLI 도구다운” 경험입니다.
  4. 즉시 복사: mmu share → 클립보드에 자동 복사 → 바로 붙여넣기.

카드 포맷

┌─────────────────────────────────────┐
│  🦄 Make Me Unicorn                 │
│  SaaS Launch Readiness Report       │
│                                     │
│  Score: 412/445 (93%)               │
│  ██████████████████░░ 93%           │
│                                     │
│  ✅ Security       42/45            │
│  ✅ Legal          28/30            │
│  ✅ Billing        44/48            │
│  ⚠️  SEO           18/22            │
│  ✅ Monitoring     35/38            │
│  ... (15 categories)                │
│                                     │
│  🏅 Badges: Ship-Ready, Secure,     │
│     Compliant                       │
│                                     │
│  Try it: npx make-me-unicorn        │
└─────────────────────────────────────┘

카드에 포함되는 정보

요소포함 이유
전체 점수 + 프로그레스 바한눈에 진행 상태 파악
카테고리별 점수강점/약점 시각화
뱃지달성감, 공유 동기 강화
npx make-me-unicornCTA — 보는 사람이 바로 실행 가능

CTA(Call to Action)가 카드 안에 있어야 합니다. “이게 뭐지?” → 카드 하단의 npx make-me-unicorn을 보고 바로 실행. 검색도, 설치도 필요 없이 npx 한 줄이면 됩니다.


Gated 기준: 숫자가 안 되면 다음 단계로 안 간다

Gate란

Gate는 이 숫자를 달성해야 다음 기능/투자를 진행한다는 체크포인트입니다. 희망적 관측(“만들면 쓰겠지”)을 방지합니다.

graph LR
    G1["Gate 1\n주간 실행 50회"] -->|"통과"| G2["Gate 2\n공유 카드 10개/주"]
    G2 -->|"통과"| G3["Gate 3\n공유→설치 3건/주"]
    G3 -->|"통과"| G4["Playbook Pack\n출시"]

    G1 -->|"미달"| R1["CLI 개선\n또는 피봇"]
    G2 -->|"미달"| R2["공유 동기 강화\n또는 포맷 변경"]
    G3 -->|"미달"| R3["CTA 개선\n또는 채널 변경"]

    style G4 fill:#e8f5e9,stroke:#4caf50
    style R1 fill:#fff3e0,stroke:#ff9800
    style R2 fill:#fff3e0,stroke:#ff9800
    style R3 fill:#fff3e0,stroke:#ff9800

MMU의 Gate

Gate지표기준통과 시미달 시
Gate 1주간 CLI 실행 수50회/주Gate 2로CLI UX 개선
Gate 2주간 공유 카드 생성10개/주Gate 3으로공유 동기/포맷 개선
Gate 3공유→설치 전환3건/주Playbook Pack 출시CTA/채널 개선
Gate 4Playbook Pack 매출$500/월AI Coach 개발Pack 내용/가격 개선

왜 이 숫자인가

  • 50회/주: “주 1회라도 쓰는 사람이 50명” 또는 “한 사람이 여러 프로젝트에 반복 사용”. 어느 쪽이든 최소 사용 기반 확인
  • 10개/주: 실행의 20%가 공유로 이어짐. 이 비율이 안 되면 공유 동기가 부족한 것
  • 3건/주: 공유의 30%가 새 설치로 이어짐. K-factor(바이럴 계수) 의미
  • $500/월: 1인이 풀타임으로 전환할 수 있는 최소 기준의 1/10. “10배 하면 월 $5K”의 가능성 확인

숫자 자체보다 숫자에 기반한 의사결정 원칙이 중요합니다. “만들면 쓰겠지”가 아니라, “쓰는 걸 확인한 후에 다음을 만든다.”


뱃지 시스템: 공유 동기 설계

왜 뱃지가 필요한가

체크리스트 점수만으로는 공유 동기가 약합니다. “82%“라는 숫자는 맥락 없이 의미가 없습니다. 뱃지는 달성감을 시각화하고 공유할 이유를 만듭니다.

뱃지 기준

뱃지조건의미
🛡️ SecureSecurity 카테고리 90%+보안 검증 완료
⚖️ CompliantLegal 카테고리 90%+법적 준수 완료
🚀 Ship-Ready전체 85%+론칭 준비 완료
💯 Perfect전체 100%완벽
🔄 CI-ReadyCI/CD 카테고리 90%+자동화 파이프라인 완료

뱃지 이름은 동사가 아니라 상태입니다. “보안을 했다”가 아니라 “Secure”(안전한 상태). 상태 표현이 공유 시 더 자연스럽습니다. “나는 Ship-Ready야” vs “나는 보안 검증을 완료했어” — 전자가 더 공유하고 싶은 문장입니다.


측정 방법

CLI 도구에서 사용량을 어떻게 측정할까요? 서버가 없으므로 전통적인 분석 도구(GA4, Mixpanel)를 쓸 수 없습니다.

옵션 비교

방법프라이버시정확도구현
npm download 수높음낮음 (설치 ≠ 실행)0
익명 telemetry (opt-in)중간높음중간
GitHub Issues/Stars높음낮음 (참여 ≠ 사용)0
mmu share 생성 수높음중간낮음

현재 선택: npm downloads + GitHub activity + share 생성 수

개인 데이터를 수집하지 않는 방식만 사용합니다. Telemetry는 opt-in이 원칙이지만, 초기에는 구현 우선순위가 아닙니다.


정리

핵심내용
공유가 첫 번째인 이유사용자 수를 늘리는 기능이 가장 먼저
Plain text 카드서버 불필요, 범용, CLI에 자연스러움
Gate 기준주간 50 실행 → 10 공유 → 3 설치 → $500 매출
뱃지달성감 시각화 → 공유 동기
원칙숫자가 안 되면 다음 단계로 안 간다
공유

관련 글