# 포커스텔라(Focustella) Web MVP 기획문서 (PRD v0.1) > 혼자 일하는 사람을 위한 “집중 항해” 서비스. > 별자리 항로(시간)를 선택하고, 출항 전 미션(이번 작업 목표)을 싣고, 항해(집중) 후 도착(짧은 회고)으로 항해일지를 남긴다. --- ## 1. 목적과 성공 기준 ### 1.1 문제 정의 - 혼자 일할 때 **집중 시작**이 어렵고, 흐트러지면 다시 **재시작**이 힘들다. - 작업을 마친 뒤 “내가 뭘 했지?”가 남아 **성취감/회고**가 약하다. - 목표 미달성 시 기록이 “실패”로 남으면 **기분이 나쁘고** 서비스 이탈로 이어질 수 있다. ### 1.2 Web MVP 목표 - 세계관(우주 항해)을 **방해가 아니라 동기/의식(ritual)**로 사용해 1. 출항(시작) 장벽을 낮추고 2. 항해(집중) 방해를 최소화하며 3. 도착(회고)로 다음 행동을 남긴다. ### 1.3 성공 지표(초기) - Activation: 첫 방문→첫 항해 시작 전환율 - Completion: 항해 종료까지 도달률(중단률 포함) - Retention: D1/D7 재항해율 - Journal: 항해일지 생성률, 회고 입력률(1줄이라도) --- ## 2. 핵심 컨셉 ### 2.1 핵심 루프(Core Loop) 1. 로비에서 **항로 선택** 2. 출항 전 **미션 체크인(목표 한 줄)** 3. 항해(집중) 4. 도착(짧은 회고) 5. 항해일지 저장 6. 다음 항해로 연결 ### 2.2 톤&매너 - “훈육/채찍” 금지. “관제/도킹/로그” 같은 **부드러운 안내**. - 실패/낙제/미완료 같은 표현 최소화. - 기록은 **성공/실패**가 아니라 **진행/학습/다음 행동** 중심. --- ## 3. MVP 범위 ### 3.1 포함(Include) - 데스크탑 웹 중심(모바일은 최소 대응) - 첫 화면(로비)에서 항로 선택 → 미션 → 항해실 → 도착/일지 - 항로: 1시간/3시간(초기 2~6개 카드 이내) - 항해일지: 항로/미션/결과 상태/한 줄 회고/다음 액션 - “출발 시각”은 **강제 스케줄이 아닌** *몰입을 돕는 선택지*로 설계 ### 3.2 제외(Exclude) — MVP에서 하지 않기 - 실시간 채팅, 랭킹, 과한 게임화 - 복잡한 애니메이션(항해실에서 특히 금지) - 강한 방해 차단(사이트 차단/앱 차단) - 복잡한 소셜 매칭/파티 시스템 --- ## 4. 출발 시각(강제성) 설계 ### 4.1 원칙 - “정시 출발만 가능”처럼 **기다림 강제**는 이탈 위험이 큼. - 강제성은 “시간표”보다 “절차/윈도우”가 세계관과 UX 모두에 유리. ### 4.2 MVP 추천: 혼합형 - 기본: **즉시 출항(차터)** — 마찰 최소 - 옵션: **출항 윈도우(게이트 개방 시간)** — 몰입/의식/약한 강제성 - 예: 하루 4~8회, 불규칙 시각(09:08–09:15 같은 7분 창) - 사용자는 “대기”가 아니라 “출항 준비”를 하도록 로비에 체크리스트 제공 - 글로벌: 윈도우는 사용자 **로컬 시간대 기준**으로 제공(개인 루틴 중심) - (추후) 이벤트성 “UTC 글로벌 편”은 주 1회 정도로 실험 가능 ### 4.3 놓쳤을 때 UX(중요) - “실패”가 아니라 “다음 도킹 창 안내” - 즉시 출항(차터)로 우회 가능하게 유지 --- ## 5. 정보 구조(IA) & 화면 구성 ### 5.1 라우팅(예시) - `/` 로비(항로 선택) - `/boarding` 미션 체크인(출항 직전) - `/flight` 항해실(집중) - `/debrief` 도착/회고 - `/log` 항해일지 목록 - `/log/:id` 항해일지 상세 - `/settings` 설정(초간소/모션 감소 등) ### 5.2 화면별 스펙 #### A) 로비(첫 화면) — “항로 선택이 주인공” **목표:** 설명보다 선택→출항까지 1분 안에 도달 구성(최소): - 상단: 로고 | 항해일지 | 설정 - 메인 문장: “어느 별자리로 출항할까요?” - (선택) 미션 한 줄 입력(바로 입력해도 되고, 탑승 후 입력해도 됨) - 항로 카드 그리드(최대 6개) - 별자리명 / 소요시간 / 한 줄 용도(딥워크/정리 등) / `탑승` - 출항 방식 표기: `바로 출항` 또는 `다음 게이트 09:08` - 하단 분위기: “정거장에 N명이 대기 중”(실시간이 아니어도 됨) 카드 예시: - 오리온 · 3h · 딥워크(집필/코딩) - 거문고 · 1h · 기획/정리 - 백조 · 1h · 회고/리뷰 #### B) 탑승(미션 체크인) **원칙:** 미션은 “결과”가 아니라 “행동/진척” 형태로 유도 필드: - 미션(필수): 한 줄 - (선택) 메모: 1줄(오늘의 제약/컨디션) - 출항 버튼: `출항(도킹 완료)` 가이드 문구(예): - “완료보다 진척을 목표로 적어보세요.” - “예: ‘서론 10문장 쓰기’, ‘가설 2개 검증하기’” #### C) 항해실(집중 화면) — “초간소 UI” **원칙:** 항해실에서 연출/깜빡임/복잡한 UI 금지 구성(최소): - 상단 작은 라벨: `오리온 항로 · 순항` - 중앙: 남은 시간(크게) - 하단: `일시정지` `종료` `메모(선택)` - 옵션: “초 단위 숨기기(분 단위만)”, “모션 감소” 단계(점화/접근 등)는 **화면 변화 없이**: - 상단 얇은 토스트 3초(선택 행동 있을 때만) - 예: “접근 단계: 마무리 5분 — 다음 액션 한 줄 적기” #### D) 도착(회고) **목표:** 30초~2분 내 회고 완료 → 일지 생성 질문(추천): 1. 이번 항해에서 **확보한 것**(한 줄) 2. 다음 항해의 **첫 행동**(한 줄) 3. (선택) 막힌 이유(칩 선택) 결과 상태(실패 금지, 3상태): - ✅ 계획대로 - 🌓 부분 진행 - 🧭 방향 재설정(범위 조정/우선순위 변경) CTA: - `항해일지 저장` - `다음 항로 선택` #### E) 항해일지 목록/상세 - 목록: 카드형(날짜, 항로, 미션, 상태) - 상세: 자동 생성 템플릿 + 사용자 회고 --- ## 6. 데이터 모델(초안) ### 6.1 Entity: Route - id - name (e.g., "오리온") - duration_minutes (60/180) - tag (딥워크/정리/리뷰) - description (1줄) ### 6.2 Entity: Voyage(항해 세션) - id - user_id (MVP에서는 익명 가능) - route_id - scheduled_type: `charter | window` - scheduled_at (optional) - started_at - ended_at - status: `completed | partial | reoriented | aborted` - mission_text - notes (optional) - debrief_progress (한 줄) - next_action (한 줄) - blocker_tag(optional): `scope | interruption | energy | priority_change | other` ### 6.3 Entity: User(옵션) - id - timezone - preferences: minimal_mode, hide_seconds, reduce_motion --- ## 7. UX 규칙(중요) ### 7.1 “목표 미달성” 감정 설계 - “실패/미완료”를 저장하지 않는다. - 기록은 항상 “진행/확보/다음 액션”으로 남는다. - 중단(aborted)도 “이탈”이 아니라 “복귀 안내 + 다음 액션” 중심으로 처리. ### 7.2 항해 중 방해 최소화 - 알림 최소(단계 토스트는 선택형/짧게) - 애니메이션/깜빡임 금지(특히 항해실) - 소리 기본 OFF(옵션) --- ## 8. 기술/구현 메모(비결정 영역) - 프론트: (예) Next.js/React - 상태/타이머: 탭 비활성/절전 대응 고려 - 저장: 로컬 우선(익명 MVP), 추후 로그인/동기화 --- ## 9. 분석/이벤트(최소) - `route_view` (로비 노출) - `route_select` (항로 선택) - `mission_submit` (미션 체크인 완료) - `voyage_start` - `voyage_pause` - `voyage_end` (status 포함) - `debrief_submit` (회고 입력 완료) - `log_view` --- ## 10. 로드맵(후순위) 1. 계정/동기화/멀티 디바이스 2. 출항 윈도우 개인화(사용자 루틴 기반) 3. “이벤트성 UTC 글로벌 편” 4. 데스크탑 앱(트레이/항상 위/단축키) 5. 모바일: 알림/일지 보기 중심 --- ## 11. 오픈 이슈(결정 필요) - 항로 개수: MVP는 2~6개 중 최적? - 출항 윈도우: 하루 몇 회가 이탈을 최소화하면서 몰입을 만들까? - 익명 사용 vs 최소 로그인: 초기 전환율/재방문 간 trade-off - 항해 중 중단 정책: 즉시 종료 허용 + 도착 회고 최소 강제 여부 --- ## 12. Acceptance Criteria (MVP 완료 기준) - 사용자는 첫 화면에서 3클릭 이내로 항해 시작 가능 - 항해실은 5개 이하 UI 요소로 유지(타이머/미션/버튼) - 도착 시 3상태(완료/부분/재설정) 중 하나로 저장 가능 - 항해일지 목록에서 과거 항해를 열람 가능 - “실패/미완료”라는 표현 없이도 유저가 상황을 기록할 수 있음