Appearance
홈 장르칩 다양화 + 동적제어 PRD
Status: Released created: March 24, 2026 3:32 PM 앱/웹/스튜디오: 앱, 웹
1. 목표 및 배경
- 문제: 현재 홈 장르칩이 5개(로맨스/로판, SF/판타지/무협, 미스터리/공포, 일상/현대, 어른용)로 고정되어 있어, 콘텐츠가 로맨스/로판·SF/판타지/무협 두 칩에 편중되어 있음. 나머지 칩은 콘텐츠 수가 적어 탐색 효과가 낮음.
- 칩이 코드에 하드코딩되어 있어, 변경 시 매번 배포가 필요
- 브로드한 장르 분류만으로는 유저의 세부 취향에 맞는 탐색이 어려움
- 태그(#), 에피소드 형태(스크롤뷰/페이지뷰) 등 기존에 존재하는 속성이 활용되지 않고 있음
- 아이디어: 칩의 분류 기준을 장르뿐 아니라 태그·에피소드 형태·커스텀 큐레이션 등 다양한 변수로 확장하고, 어드민에서 실시간으로 칩을 추가/삭제/순서변경/조건설정할 수 있게 하면 탐색 경험을 빠르고 쉽게 개선할 수 있을 것이다.
- 가설:
- 칩의 분류 기준을 다양화하면, 유저가 홈에서 관심 있는 에피소드를 더 쉽게 발견하여 칩 클릭률이 증가할 것이다.
- 어드민에서 칩을 동적으로 제어할 수 있으면, 시즌/이벤트에 맞춘 탐색 경험을 빠르게 제공하여 칩 경유 에피소드 소비 전환율이 증가할 것이다.
2. 타깃 사용자
- 앱/웹 사용자 전체: 홈에서 에피소드를 탐색하는 모든 유저
- 어드민 운영자: 칩을 생성/관리하는 내부 운영자
3. 핵심 기능 요구사항
3-1. 칩 분류 기준 다양화 (앱/웹)
현재 장르 기반 고정 칩을 다양한 필터 조건 기반의 동적 칩으로 확장한다.
지원하는 필터 조건 유형:
| 필터 유형 | 설명 | 조건 값 예시 |
|---|---|---|
| 장르 | 에피소드의 1번 장르 기준 (기존과 동일) | 로맨스, SF, 미스터리 등 |
| 태그 | 에피소드에 달린 #태그 기준 (디렉터 자유 입력) | #회귀, #빙의, #학원 등 |
| 에피소드 형태 | 뷰 타입 기준 | 스크롤뷰 / 페이지뷰 |
| 커스텀 큐레이션 | 어드민이 수동으로 에피소드를 지정하여 모아놓는 방식 | 이번 주 추천, 신작 픽 등 |
필터 조건 조합 규칙:
- 같은 유형 내: AND / OR 선택 가능 (장르는 or만)
- 예) 태그 "#회귀" OR "#빙의" → 둘 중 하나라도 포함된 에피소드
- 예) 태그 "#회귀" AND "#로맨스" → 두 태그를 모두 가진 에피소드만
- 유형 간: AND / OR 선택 가능, 혼합도 가능
- 예) (장르 "로맨스" OR 태그 "#회귀") AND 에피소드 형태 "스크롤뷰"
- 어드민 UI에서 조건 그룹을 묶고, 그룹 간 AND/OR을 지정하는 방식
- 어드민에서 조건 설정 시, 각 조건/그룹 사이의 연산자(AND/OR)를 드롭다운으로 선택
- 칩 라벨은 어드민이 자유 텍스트로 입력 (장르명과 무관하게 커스텀 가능)
- 칩 개수 상한 없음 (있어야한다면 넉넉하게?)
3-2. 칩 탭 페이지 (앱/웹)
칩 클릭 시 이동하는 필터된 페이지의 구성은 기존 장르칩과 동일하게 유지:
- 상단: 가로 스크롤 인기/신작 에피소드 썸네일
- 하단: 그리드(세로 스크롤) 에피소드 썸네일 나열
- 정렬 기준은 기존 장르칩 페이지와 동일 (추후 별도 정렬 옵션 확장 가능)
3-3. 어드민 칩 관리 (어드민)
기존 어드민에 홈 칩 관리 메뉴를 추가한다. 어드민에서 변경한 내용은 실시간으로 앱에 반영된다 (앱 재시작 불필요).
어드민 제어 항목:
| 기능 | 설명 |
|---|---|
| 칩 추가 | 새 칩 생성. 라벨(자유 텍스트), 필터 조건, 노출 여부 설정 |
| 칩 삭제 | 기존 칩 삭제 (삭제 전 확인 모달) |
| 칩 순서 변경 | 드래그 앤 드롭으로 칩 노출 순서 변경 |
| 칩 노출/숨김 토글 | 칩을 삭제하지 않고 앱에서 숨김 처리 가능 |
| 칩별 필터 조건 설정 | 장르/태그/에피소드 형태/큐레이션 조건을 자유롭게 AND/OR 조합. 유형 내·유형 간 모두 AND/OR 선택 가능, 조건 그룹핑 지원 |
3-4. 어드민 태그 검색/조회 기능 (어드민)
칩 필터 조건에 태그를 설정할 때, 어드민이 기존 태그를 검색하고 해당 태그를 가진 에피소드 수를 확인할 수 있어야 한다.
- 태그 검색: 텍스트 입력 시 기존 태그 목록 중 검색어를 포함하는 태그 표시
- 에피소드 수 표시: 검색 결과에 해당 태그가 달린 에피소드 개수 표시 (예:
#회귀 (42개)) - 태그는 디렉터가 자유 텍스트로 입력하므로, 어드민 검색은 현존하는 태그를 DB에서 조회하는 방식
4. 사용자 플로우
플레이어 플로우 (앱/웹)
- 유저가 앱/웹 홈에 진입
- 상단 칩 영역에서 관심 있는 칩(예: "회귀물 모아보기")을 탭
- 해당 조건으로 필터된 에피소드 페이지로 이동
- 상단 가로 스크롤(인기/신작) + 하단 그리드에서 에피소드 탐색
- 에피소드 썸네일 탭하여 상세 진입 → 플레이
어드민 플로우
- 어드민 > 홈 칩 관리 메뉴 진입
- 칩 리스트 확인 (현재 순서대로, 노출/숨김 상태 표시)
- 칩 추가 시:
- [+ 칩 추가] 버튼 클릭
- 칩 라벨 입력 (자유 텍스트)
- 필터 조건 설정:
- 조건 추가: 장르 / 태그 / 에피소드 형태 / 커스텀 큐레이션 중 선택
- 각 조건 사이 AND/OR 연산자 드롭다운 선택
- 조건 그룹핑: 괄호처럼 조건을 묶어 (A OR B) AND C 형태 구성 가능
- 태그 입력 시 검색 자동완성 + 에피소드 수 표시
- (선택) 커스텀 큐레이션: 에피소드 직접 지정
- 노출 여부 설정 (기본값: 노출)
- 저장 → 앱에 실시간 반영
- 칩 수정 시: 기존 칩 클릭 → 라벨/필터 조건/노출 여부 수정 → 저장
- 칩 순서 변경: 드래그 앤 드롭으로 순서 조정 → 자동 저장
- 칩 삭제: 삭제 버튼 → 확인 모달 → 삭제 완료
5. 에러 처리 및 예외 상황
- 필터 결과가 0건인 칩: 에피소드가 0건인 경우에도 칩은 노출되나, 빈 상태 안내 문구 표시 (예: "아직 이 조건에 맞는 에피소드가 없어요")
- 어드민에서 칩 설정 시, 현재 해당 조건에 맞는 에피소드 수를 미리보기로 표시하여 운영 실수 방지
- 태그 오타/중복: 디렉터가 자유 텍스트로 태그를 입력하므로, "#회귀"와 "#회귀물"이 별도 태그로 존재할 수 있음. 어드민이 복수 태그를 OR로 묶어 대응
- 실시간 반영 실패: 네트워크 오류 등으로 어드민 변경 사항이 앱에 즉시 반영되지 않는 경우, 앱 재시작 시 최신 상태로 동기화
- 커스텀 큐레이션 에피소드 삭제: 큐레이션에 포함된 에피소드가 삭제/비공개 처리된 경우, 해당 에피소드는 칩 결과에서 자동 제외
6. 데이터 분석
핵심 지표
- 칩 클릭률: 홈 랜딩 유저 대비 칩 클릭 유저 비율
- 칩 경유 에피소드 소비 전환율: 칩 클릭 → 에피소드 상세 진입 → 플레이까지의 전환율
로깅 이벤트
| 타입 | 이름 | 용도 | 파라미터 | 비고 |
|---|---|---|---|---|
| Event | click_home_chip | 홈 칩 클릭 | chip_id: string, chip_name: string | 칩 ID, 라벨, 순서 위치 기록 |
| Event | view_episode_detail | 칩 페이지에서 에피소드 클릭 | entry_source에 추가: chip_id, chip_name |