---
name: rn-harness-research
description: Phase 1 — Market research and idea discovery via store top charts and competitor analysis.
allowed-tools: [Read, Write, Edit, Bash, Glob, Grep, WebFetch, WebSearch, AskUserQuestion]
---

# rn-harness-research — Phase 1: 시장 조사 & 아이디어 발굴

아이디어가 있으면 시장을 조사하고, 없으면 직접 찾아서 제안한다.

## Trigger

오케스트레이터(`/rn-harness`)에서 Phase 1으로 호출됨.

## Input

- `docs/harness/config.md`의 `app_idea`
- `docs/harness/references/` (있으면)

## Process

### Step 0: 모드 판별

`app_idea`를 확인:
- **구체적 아이디어** (예: "커피 구독 앱") → **Mode A: 시장 조사**
- **빈 값 / 모호한 요청** (예: "뭐 만들까", "알아서", "") → **Mode B: 아이디어 발굴**

---

## Mode A: 시장 조사 (아이디어가 있을 때)

### Step 1: 아이디어 분석

`app_idea`를 읽고 다음을 파악:
- 핵심 도메인 (건강, 금융, 교육, 커머스 등)
- 타겟 사용자층
- 핵심 가치 제안

### Step 2: 시장 조사

WebSearch를 사용하여:
1. **카테고리 트렌드**: 해당 카테고리 App Store/Google Play 인기 앱 조사
2. **경쟁 앱 분석**: 상위 5~10개 경쟁 앱 분석
   - 앱 이름, 평점, 주요 기능, 강점, 약점
   - 유저 리뷰에서 반복되는 불만/요청 사항
3. **시장 기회**: 경쟁 앱이 놓치고 있는 영역
4. **수익화 모델**: 해당 카테고리에서 흔한 수익 모델 (광고, 구독, 인앱결제)

### Step 3: 차별화 전략 수립

경쟁 분석 기반으로:
- 핵심 차별점 3가지
- MVP 핵심 기능 리스트
- "이 앱을 쓰는 이유" 한 줄 정의

### Step 4: 기술 타당성 검토

React Native + Expo로 구현 가능한지:
- 필요한 네이티브 모듈 확인
- Expo SDK 지원 여부
- 서드파티 라이브러리 존재 여부
- 백엔드 요구사항 (Firebase, Supabase 등)

→ **Step 10: 사용자 확인**으로 이동

---

## Mode B: 아이디어 발굴 (아이디어가 없을 때)

### Step 5: 스토어 탑 차트 조사

WebSearch로 현재 인기 앱 트렌드 분석:

1. **App Store 카테고리별 Top 100 조사**
   - 생산성, 건강/피트니스, 금융, 교육, 라이프스타일, 유틸리티
   - 최근 급상승한 앱, 새로 출시된 앱
   - 한국 스토어 + 미국 스토어 동시 조사

2. **Google Play 인기 차트 조사**
   - 무료 인기, 유료 인기, 인기 급상승
   - 카테고리별 트렌드

3. **최근 트렌드 키워드**
   - "2026 앱 트렌드", "인기 앱 카테고리"
   - ProductHunt, TechCrunch 최신 앱 소식

### Step 6: 1인 개발 필터링

발견한 트렌드/아이디어를 다음 기준으로 필터링:

| 기준 | 조건 |
|------|------|
| **1인 개발 가능** | 2주 이내 MVP 구현 가능한 범위 |
| **서버 불필요** | 로컬 저장 (AsyncStorage/SQLite) 또는 Firebase/Supabase 무료 티어 |
| **네이티브 모듈 최소** | Expo SDK로 대부분 커버 가능 |
| **수익화 가능** | AdMob 광고 또는 간단한 인앱결제로 수익 가능 |
| **경쟁 강도** | 대형 기업이 독점하지 않는 틈새 영역 |
| **유지보수 부담 낮음** | 콘텐츠 업데이트/서버 관리 불필요 |

### Step 7: 아이디어 후보 생성

3~5개 아이디어를 구체적으로 제안:

```markdown
### 아이디어 1: [앱 이름]
- **한 줄 소개**: ...
- **타겟**: ...
- **핵심 기능 3가지**: 
  1. ...
  2. ...
  3. ...
- **차별점**: 기존 [경쟁앱]은 [약점]이 있는데 이 앱은 [강점]
- **수익화**: AdMob 배너 + 전면 광고 (예상 DAU X명 기준 월 $Y)
- **기술 타당성**: Expo SDK 커버 / 서버 불필요 / 예상 개발 기간 N일
- **시장 근거**: [탑차트 앱]의 리뷰에서 [불만]이 반복됨 → 기회
```

### Step 8: 각 후보별 경쟁 앱 분석

각 아이디어의 직접 경쟁 앱 3~5개 분석:
- 앱 이름, 평점, 다운로드 수, 주요 기능
- 유저 리뷰 주요 불만점
- 우리가 노릴 수 있는 틈새

### Step 9: 사용자에게 선택 요청

AskUserQuestion:
```
시장 조사 결과 다음 아이디어를 추천합니다:

1. [아이디어 1] — [한 줄 소개]
   추천 이유: [근거]

2. [아이디어 2] — [한 줄 소개]
   추천 이유: [근거]

3. [아이디어 3] — [한 줄 소개]
   추천 이유: [근거]

어떤 아이디어로 진행할까요? (번호 또는 새 아이디어)
```

사용자 선택 후 → 선택된 아이디어로 **Mode A Step 2~4** 실행 (심화 조사)

---

### Step 10: 사용자 확인

AskUserQuestion으로 조사 결과를 공유하고 방향 확인:
- "조사 결과를 확인해주세요. 수정할 부분이 있으면 알려주세요."
- 사용자 피드백 반영

## Output

`docs/harness/specs/YYYY-MM-DD-research.md`:

```markdown
# 시장 조사 보고서

## 모드
[A: 시장 조사 / B: 아이디어 발굴]

## 앱 아이디어
[최종 선택된 아이디어]

## 시장 분석
### 스토어 트렌드 (Mode B인 경우)
[탑 차트 분석 결과]

### 카테고리 트렌드
[조사 결과]

### 경쟁 앱 분석
| 앱 | 평점 | 다운로드 | 주요 기능 | 강점 | 약점 |
|---|---|---|---|---|---|

### 시장 기회
[경쟁 앱이 놓치는 영역]

## 차별화 전략
1. [차별점 1]
2. [차별점 2]
3. [차별점 3]

## 핵심 가치 제안
[한 줄 정의]

## MVP 기능 리스트
### P0 (필수)
- [ ] 기능 1
- [ ] 기능 2

### P1 (중요)
- [ ] 기능 3

### P2 (나중에)
- [ ] 기능 4

## 수익화 전략
[광고, 구독, 인앱결제 등]

## 기술 타당성
### 1인 개발 적합성
- 예상 개발 기간: [N일]
- 서버 필요: [불필요 / Firebase 무료 티어]
- Expo SDK 커버: [O/X, 필요 네이티브 모듈]

### React Native + Expo 호환성
[검토 결과]

### 필요 라이브러리
[목록]

### 백엔드 요구사항
[없음 / Firebase / Supabase 등]
```

## State Update

완료 후 `state.md` 업데이트:
```yaml
current_phase: plan
next_role: rn-harness-plan
```

## HARD GATES

- WebSearch를 반드시 사용하여 실제 데이터 기반으로 조사
- 경쟁 앱 최소 3개 이상 분석
- Mode B: 아이디어 최소 3개 이상 제안
- Mode B: 1인 개발 가능 + 서버 불필요(또는 최소) 필터 필수
- 사용자 확인 없이 다음 Phase로 진행 금지
