# 상담 도구 마켓플레이스 PRD
## "상담사가 만들고, 상담사가 쓰는" AI 상담 도구 플랫폼

---

## 1. 한 줄 요약

상담사/학생이 코드 없이 한국어로 말하면 AI 상담 도구가 만들어지고, 심사를 거쳐 마켓플레이스에 올라가며, 다른 상담사/상담센터가 구독해서 사용하는 플랫폼.

---

## 2. 문제

### 상담 현장의 문제
- 상담사는 상담 외에 기록, 사례개념화, 감정 추적, 위기 평가 등 도구가 필요하다
- 기존 도구는 비싸거나 (SimplePractice $69/월), 한국 맥락에 안 맞거나, 분절되어 있다
- 상담사 본인이 원하는 도구를 직접 만들 방법이 없다

### 교육의 문제
- 상담심리 대학원생이 "AI 시대의 상담사"가 되려면 도구를 설계하고 만들 수 있어야 한다
- 하지만 코딩을 모르고, git을 모르고, 배포를 모른다
- 바이브 코딩이 가능한 시대인데, 이걸 상담 교육에 접목한 플랫폼이 없다

### 핵심 통찰
> 로블록스에서 10대가 게임을 만들듯이, 상담사가 상담 도구를 만들 수 있어야 한다.
> 코드를 몰라도. 한국어로 말하기만 하면.

---

## 3. 솔루션: 상담 도구 마켓플레이스

### 3.1 세 가지 사용자

| 역할 | 누구 | 하는 일 |
|------|------|--------|
| **Creator** (만드는 사람) | 상담심리 대학원생, 현직 상담사 | 한국어로 AI에게 말해서 모듈을 만든다 |
| **User** (쓰는 사람) | 상담사, 상담센터, 내담자 | 마켓플레이스에서 모듈을 골라 사용한다 |
| **Admin** (관리자) | 플랫폼 운영자 (교수) | 모듈 심사, 품질 관리, 플랫폼 운영 |

### 3.2 플랫폼 구조

```
┌──────────────────────────────────────────────────┐
│                  플랫폼 코어                       │
│                                                  │
│  ┌──────────┐ ┌───────────┐ ┌─────────────────┐  │
│  │ Firebase │ │ Firestore │ │   AI Gateway    │  │
│  │   Auth   │ │    DB     │ │ Gemini + Claude │  │
│  └──────────┘ └───────────┘ └─────────────────┘  │
│                                                  │
│  ┌──────────────────────────────────────────────┐ │
│  │              모듈 빌더 (Creator용)             │ │
│  │  "감정일기 만들어줘" → AI가 코드 생성 → 미리보기  │ │
│  └──────────────────────────────────────────────┘ │
│                                                  │
│  ┌──────────────────────────────────────────────┐ │
│  │              마켓플레이스 (User용)              │ │
│  │  [감정일기] [위기대응] [사례배정] [AI보조] ...    │ │
│  └──────────────────────────────────────────────┘ │
│                                                  │
│  ┌──────────────────────────────────────────────┐ │
│  │              심사 대시보드 (Admin용)            │ │
│  │  제출된 모듈 리뷰 → 테스트 → 승인/반려           │ │
│  └──────────────────────────────────────────────┘ │
└──────────────────────────────────────────────────┘
```

---

## 4. 핵심 기능

### 4.1 모듈 빌더 — Creator가 도구를 만드는 곳

**사용 흐름:**

1. Creator가 로그인 → "새 모듈 만들기" 클릭
2. 한국어로 설명:
   > "감정 일기 모듈을 만들어줘. 사용자가 오늘의 감정을 선택하고, 강도를 1-10으로 입력하고, 메모를 쓸 수 있게. 일주일 치를 차트로 보여줘."
3. AI(Gemini)가 React 컴포넌트 코드를 생성
4. 샌드박스 미리보기에서 실시간 확인
5. 대화형 수정:
   > "차트를 막대 말고 꺾은선으로 바꿔줘"
   > "감정 목록에 '불안'을 추가해줘"
   > "다크모드 지원해줘"
6. 만족하면 "제출" → Admin 심사 대기열로

**기술 구현:**
- 프론트: Monaco Editor (VS Code 엔진) + 채팅 인터페이스
- AI: Gemini 2.5 Flash로 코드 생성 (가성비 최고)
- 미리보기: iframe 샌드박스에서 실시간 렌더링
- 저장: Firestore에 모듈 코드 + 메타데이터 저장

**AI에게 주는 시스템 프롬프트:**
```
너는 상담 도구 모듈 빌더야.
사용자가 한국어로 원하는 기능을 설명하면,
Next.js + Tailwind CSS + Firebase 기반의
자체 완결형 React 컴포넌트를 생성해.

규칙:
- 하나의 파일로 완결 (single file component)
- Firebase Auth의 현재 사용자 정보 사용 가능
- Firestore 읽기/쓰기 사용 가능 (컬렉션: modules/{moduleId}/data)
- Recharts로 차트 생성 가능
- 반응형 디자인 필수
- 한국어 UI
```

### 4.2 마켓플레이스 — User가 도구를 쓰는 곳

**사용 흐름:**
1. 상담사가 로그인
2. 마켓플레이스에서 모듈 탐색 (카테고리별, 인기순, 최신순)
3. 모듈 상세 페이지: 설명, 스크린샷, 리뷰, 제작자 정보
4. "사용하기" 클릭 → 대시보드에 모듈 추가
5. 대시보드에서 내가 사용 중인 모듈들을 한눈에 관리

**카테고리:**
- 감정 추적 / 일기
- 위기 대응 / 안전
- 사례 관리 / 배정
- AI 상담 보조
- 관계 / 커플
- 자기 성장 / 회고
- 심리 교육
- 예방 / 마음 건강

### 4.3 심사 시스템 — Admin이 품질을 관리하는 곳

**심사 기준:**
1. **작동 여부** — 에러 없이 실행되는가
2. **안전성** — 위기 상황 대응이 포함되어 있는가 (자살/자해 관련 모듈의 경우)
3. **윤리** — ACA/APA 윤리 강령에 부합하는가
4. **비밀보장** — 개인정보가 적절히 보호되는가
5. **UX** — 상담사/내담자가 사용하기 쉬운가

**심사 흐름:**
```
제출 → 자동 테스트 (빌드 성공?) → Admin 리뷰 → 수정 요청 또는 승인 → 마켓플레이스 라이브
```

### 4.4 크레딧 시스템 — 비용 제어

| 등급 | AI 호출 한도 | 비용 | 대상 |
|------|------------|------|------|
| **Free** | 일 30회 | 무료 | 학생, 체험 사용자 |
| **Creator** | 일 200회 | 무료 (수업 기간) / $5/월 (이후) | 모듈 제작자 |
| **Pro** | 무제한 | $20/월 | 상담사 개인 |
| **Center** | 무제한 + 관리 기능 | $50/월 | 상담센터 |

**일일 한도 초과 시:** "오늘의 AI 크레딧을 다 사용했습니다. 내일 다시 이용해주세요." (학생 막 쓰기 방지)

---

## 5. 수익 모델: 로블록스 방식

### 5.1 수익 흐름

```
상담사가 Pro 구독 ($20/월)
  ├── 플랫폼 운영비: $14 (70%)
  │     ├── AI API 비용: ~$3
  │     ├── Firebase 인프라: ~$1
  │     └── 운영 마진: ~$10
  └── 모듈 제작자 수익 공유: $6 (30%)
        └── 사용량 비례로 Creator들에게 분배
```

### 5.2 Creator 인센티브

- 내 모듈을 100명이 사용하면 → 월 수익 발생
- 학생: 수업에서 만든 모듈이 졸업 후에도 수익을 가져다줌
- 현직 상담사: 본인이 필요해서 만든 도구가 동료에게도 팔림

### 5.3 시장 규모 추정

- 한국 상담사 수: ~50,000명
- 상담센터: ~5,000개
- 1% 침투율 = 500명 × $20/월 = **$10,000/월**
- 10% 침투율 = 5,000명 × $20/월 = **$100,000/월**

---

## 6. 기술 스택

| 구성 | 선택 | 이유 |
|------|------|------|
| 프레임워크 | Next.js 15 (App Router) | 교수가 이미 전문 |
| 인증 | Firebase Auth | 이미 사용 중, Google/카카오 |
| 데이터베이스 | Firestore | 이미 사용 중, 실시간, 무료 티어 |
| AI (코드 생성) | Gemini 2.5 Flash | 가성비 최고, $0.15/M input |
| AI (분석) | Claude Sonnet | 축어록 분석, 복잡한 추론 |
| 코드 미리보기 | iframe sandbox | 보안 격리 |
| 코드 에디터 | Monaco Editor | VS Code 엔진, 웹 내장 |
| 배포 | Firebase Hosting + Vercel | 자동 배포 |
| 스토리지 | Firebase Storage | 이미지, 파일 업로드 |

---

## 7. 데이터 모델

```
// Firestore 컬렉션 구조

users/{userId}
  ├── email, name, role (creator/user/admin)
  ├── plan (free/creator/pro/center)
  ├── creditsUsedToday: number
  ├── createdAtMs: number
  └── modules: [moduleId, ...] // 사용 중인 모듈

modules/{moduleId}
  ├── title, description, category
  ├── creatorId, creatorName
  ├── code: string // React 컴포넌트 코드
  ├── status: draft | submitted | approved | rejected
  ├── version: string
  ├── usersCount: number
  ├── rating: number
  ├── reviewNotes: string // Admin 피드백
  ├── screenshots: [url, ...]
  ├── createdAtMs, updatedAtMs
  └── conversationHistory: [...] // AI와의 대화 기록

modules/{moduleId}/data/{docId}
  └── (모듈별 사용자 데이터 — 감정 기록, 상담 메모 등)

modules/{moduleId}/reviews/{reviewId}
  ├── userId, rating, comment
  └── createdAtMs

credits/{userId}
  ├── dailyUsed: number
  ├── dailyLimit: number
  ├── lastResetDate: string
  └── monthlyTotal: number

revenue/{yearMonth}
  └── creators: { creatorId: amount, ... }
```

---

## 8. 모듈 빌더 상세 설계

### 8.1 화면 구성

```
┌────────────────────────────────────────────────────────┐
│  [← 돌아가기]              모듈 빌더              [제출]  │
├──────────────────────┬─────────────────────────────────┤
│                      │                                 │
│    채팅 인터페이스       │         미리보기                │
│                      │                                 │
│  나: 감정일기 만들어줘   │    ┌───────────────────┐      │
│                      │    │  📊 감정 일기       │      │
│  AI: 네, 만들었습니다.  │    │                   │      │
│  미리보기를 확인하세요.   │    │  오늘 기분: 😊     │      │
│                      │    │  강도: ████░░ 7    │      │
│  나: 차트 추가해줘      │    │  메모: ...         │      │
│                      │    │                   │      │
│  AI: 주간 차트를       │    │  [저장]            │      │
│  추가했습니다.          │    │                   │      │
│                      │    │  📈 주간 차트       │      │
│                      │    └───────────────────┘      │
│                      │                                 │
│  [코드 보기] 토글       │                                │
│                      │                                 │
├──────────────────────┴─────────────────────────────────┤
│  [이전 버전] [현재 버전: v3] [제출하기]                     │
└────────────────────────────────────────────────────────┘
```

### 8.2 AI 코드 생성 파이프라인

```
1. 사용자 입력 (한국어)
     ↓
2. 시스템 프롬프트 + 기존 코드 + 사용자 메시지
     ↓
3. Gemini 2.5 Flash API 호출
     ↓
4. 생성된 코드 파싱 (React 컴포넌트 추출)
     ↓
5. 코드 검증 (문법 체크, 금지 패턴 검사)
     ↓
6. iframe 샌드박스에서 렌더링
     ↓
7. 사용자에게 미리보기 표시
     ↓
8. 피드백 → 2번으로 돌아감
```

### 8.3 보안 샌드박스

모듈 코드는 iframe 내에서 실행되며:
- `localStorage`, `sessionStorage` 접근 차단
- 외부 네트워크 요청 차단 (AI Gateway만 허용)
- Firestore 접근은 `modules/{moduleId}/data/` 하위만 허용
- Firebase Auth의 현재 사용자 정보만 읽기 허용
- `eval()`, `Function()` 사용 금지

---

## 9. 마켓플레이스 상세 설계

### 9.1 모듈 카드 UI

```
┌─────────────────────────┐
│  📊                     │
│  감정 일기               │
│  ⭐ 4.8 (23) · 👤 156명  │
│                         │
│  매일 감정을 기록하고      │
│  주간 패턴을 분석합니다    │
│                         │
│  Creator: 김수진 (1조)    │
│  [사용하기]               │
└─────────────────────────┘
```

### 9.2 모듈 상세 페이지

- 설명 + 스크린샷
- 기능 목록
- 사용자 리뷰
- Creator 프로필
- 버전 히스토리
- "사용하기" / "내 대시보드에 추가"

### 9.3 대시보드

사용자가 "사용하기"를 누른 모듈들이 한 화면에 모여 있는 대시보드.
하나의 로그인으로 모든 모듈에 접근.

---

## 10. 상담 여정 전체를 커버하는 모듈 맵

```
예방          인식       접근       매칭      초기평가
 │            │         │         │         │
 ▼            ▼         ▼         ▼         ▼
마음건강     자가체크    센터찾기   상담사매칭   심리검사
습관 앱      도구       자동화     알고리즘    AI 평가

상담진행      모니터링    위기대응    종결       사후관리
 │            │         │         │         │
 ▼            ▼         ▼         ▼         ▼
AI 상담보조   감정일기    자살위기    종결평가    회고앱
구조화상담    피드백추적   대응앱     만족도     자기성장

                  + 트레이닝 + 윤리/거버넌스
```

각 칸이 마켓플레이스의 모듈 하나에 해당한다.
비어있는 칸 = 아직 아무도 만들지 않은 기회.

---

## 11. 타임라인

### Phase 1: 수업 프로젝트 (2026년 봄학기)

| 주차 | 마일스톤 |
|------|---------|
| Week 7 | 플랫폼 이름 결정, 팀 편성 |
| Week 8 | 중간발표 — 모듈 구상 |
| Week 9 | **코어 출시** — Auth, 모듈 빌더 기본, 마켓플레이스 껍데기 |
| Week 10 | 학생들 모듈 빌더로 첫 모듈 생성 시작 |
| Week 11 | 핵심 기능 완성, 데이터 연동 |
| Week 12 | UX 개선, 교차 테스트 |
| Week 13 | 심사 + 마켓플레이스 등록 |
| Week 14 | 최종 발표 준비 |
| Week 15 | **최종 발표** — 6개 모듈이 마켓플레이스에 라이브 |

### Phase 2: 외부 공개 (2026년 가을)

- 외부 상담사 베타 테스트 (50명)
- Creator 온보딩 프로그램
- 구독 과금 시작

### Phase 3: 사업화 (2027년)

- 상담센터 B2B 영업
- Creator 수익 공유 시작
- 모듈 100개 돌파 목표

---

## 12. 비용 분석

### Phase 1 (수업 기간) 월 비용

| 항목 | 비용 |
|------|------|
| Firebase | 무료 (Spark plan) |
| Gemini API (18명 × 일 50회) | ~$5/월 |
| Claude API (축어록 분석) | ~$3/월 |
| 도메인 | ~$1/월 |
| **합계** | **~$9/월** |

### Phase 2 (50명 베타) 월 비용

| 항목 | 비용 |
|------|------|
| Firebase | ~$25/월 (Blaze plan) |
| Gemini API | ~$30/월 |
| Claude API | ~$20/월 |
| 도메인 + 이메일 | ~$5/월 |
| **합계** | **~$80/월** |
| **수익 (50명 × $10 베타 가격)** | **$500/월** |

### Phase 3 (500명) 월 비용/수익

| 항목 | 금액 |
|------|------|
| 인프라 + AI | ~$500/월 |
| **수익 (500명 × $20)** | **$10,000/월** |
| **Creator 수익 공유 (30%)** | -$3,000/월 |
| **순이익** | **$6,500/월** |

---

## 13. 경쟁 분석

| 서비스 | 가격 | 한국 맥락 | 모듈 빌더 | AI |
|--------|------|----------|----------|-----|
| SimplePractice | $69/월 | ❌ 미국 중심 | ❌ | ❌ |
| TherapyNotes | $49/월 | ❌ 영어만 | ❌ | ❌ |
| 마인드카페 | 무료~유료 | ✅ | ❌ | 제한적 |
| **우리 플랫폼** | $20/월 | ✅ 한국 문화 | ✅ 로블록스 방식 | ✅ Gemini+Claude |

**차별점:** 상담사가 직접 도구를 만들 수 있는 유일한 플랫폼.

---

## 14. 리스크와 대응

| 리스크 | 대응 |
|--------|------|
| AI가 생성한 코드에 보안 취약점 | iframe 샌드박스 + 자동 보안 검사 + Admin 코드 리뷰 |
| 내담자 데이터 유출 | Firestore Security Rules + 모듈별 데이터 격리 + HIPAA 참고 |
| 학생이 AI를 과도하게 사용 | 일일 크레딧 한도 (Free: 30회, Creator: 200회) |
| 윤리적 문제 (AI가 위험한 조언) | 위기 모듈 필수 검토 + 면책 고지 + 전문가 자문 |
| Creator가 없어서 모듈이 적음 | 수업에서 6개 시드 모듈 확보 → 외부 Creator 온보딩 |
| 기술적 복잡도 | MVP는 모듈 빌더 + 마켓플레이스만. 수익 공유는 Phase 2 |

---

## 15. 성공 지표

### Phase 1 (수업)
- 6개 팀 모두 작동하는 모듈을 마켓플레이스에 등록
- 학생 18명 전원이 모듈 빌더를 사용해봄
- "나도 이런 걸 만들 수 있다"는 경험

### Phase 2 (베타)
- 외부 Creator 10명 가입
- 마켓플레이스 모듈 20개
- 월간 활성 사용자 50명

### Phase 3 (사업화)
- 마켓플레이스 모듈 100개
- 구독자 500명
- 월 매출 $10,000
- Creator 수익 공유 시작

---

## 16. 다음 단계

1. **플랫폼 이름과 도메인 결정** (학생들과 함께)
2. **코어 개발 시작** — Firebase Auth + 모듈 빌더 MVP + 마켓플레이스 껍데기
3. **Week 9 수업에서 첫 데모** — 학생들이 모듈 빌더로 첫 모듈 생성
