bookquote

모바일 책 인용구 공유 앱 — 첫 모바일 프로젝트 계획

⚠️ 시점 고정 초안 (2026-05-09 작성) — Stage 0a 사전 검토 단계 산출물. 이후 결정으로 일부 항목 폐기, 본문은 변경하지 않고 배너로 정정:

Context

사용자는 현대오토에버에서 지도데이터 구축 앱/웹/서버/DB를 개발하는 폴리글랏 백엔드 엔지니어이며, 이전에 주식 자동매매 앱을 만든 경험이 있다. 첫 본격 모바일 프로젝트로 “수익 가능성”을 가진 것을 만들고 싶고, 시간을 충분히 들여 고득하게 완성하기를 원한다.

여러 카테고리(AI 유틸/게임/운세/재무 코치 등)를 검토한 결과 다음 방향이 결정됐다:

이 방향이 선정된 이유:

Product Concept

한 줄: 책의 좋은 구절을 사진 한 장으로 저장하고, 예쁜 카드로 만들어 친구·SNS에 공유하는 앱.

핵심 사용 흐름 (가장 자주 일어날 동작):

  1. 책을 읽다가 좋은 구절을 만남
  2. 그 페이지를 폰 카메라로 찍음 (또는 직접 입력)
  3. OCR로 텍스트 추출 → 인용구로 저장
  4. 책 메타데이터 자동 매칭 (알라딘/교보 OpenAPI)
  5. 디자인 템플릿 골라 인스타그래머블 카드 생성
  6. 인스타 스토리/단톡방으로 공유 → 친구가 앱 호기심 → 설치

바이럴 루프: 사용자가 만든 카드에 자연스럽게 앱 워터마크/링크가 붙음 → 단톡방·스토리 공유로 비제로 비용 유저 유입.

MVP Scope (V1, 2–3개월 목표)

V1은 “혼자 인용구를 모으고 카드로 만드는 도구” 기능을 먼저 완성하고, 그 위에 소셜 레이어를 얹는다. 소셜이 빈약해도 솔로 도구로서 쓸 수 있어야 한다 (cold start 문제 방어).

V1에 포함:

V1에서 제외 (V2 이후):

영역 추천 이유 / 대안
모바일 프론트 Expo (React Native) + TypeScript 사용자 TS 경험 직접 활용, Expo Go로 폰에서 즉시 테스트, Mac 불필요. 대안: Flutter (성능·UI 강점이지만 Dart 학습 필요)
백엔드/DB/Auth/Storage Supabase (V1) Postgres + Auth + Storage + Realtime을 솔로 개발자가 한 번에. 본인 백엔드 강점은 V2에서 자체 백엔드로 옮길 때 활용. 대안: FastAPI(Python) + Postgres 직접
도서 메타데이터 알라딘 OpenAPI (한국 도서 풍부) 교보문고 API 보조. 글로벌 확장 시 Google Books
OCR (인용구 추출) ML Kit (on-device) 무료, 오프라인, 한국어 지원. 사용자가 결과 텍스트 편집 가능하게 UX 설계하므로 100% 정확도 불필요
이미지 카드 렌더링 react-native-skia 또는 react-native-view-shot 카드 디자인 편집기 + 이미지 export
푸시 알림 Expo Push Notifications V2에서 Readwise식 “다시 보기” 알림용
분석 PostHog (free tier) 또는 Amplitude retention·funnel 추적, V1부터 필수
AI (V2) Claude API 인용구 요약, 책 추천, 대화. 사용자가 이미 헤비 유저

Differentiation (출시 시점 메시지)

Goodreads / 북적북적 / Readwise 대비:

  1. 모바일 퍼스트 — 카드 생성·공유가 폰에서 3탭 안에 끝남
  2. 인스타그래머블한 카드 — 폰트·레이아웃·색감을 진지하게 디자인 (Goodreads 약점)
  3. 한국 도서 DB 우선 — 알라딘 연동, 한국 출판 신간 즉시 반영
  4. 친구 중심 발견 — 친구의 인용구 타임라인이 메인. (V2에서 AI 추천 추가)
  5. (V2) AI 친구 — 인용구를 Claude로 요약·연결·추천

Validation (착수 전 2–3주, 가장 중요)

코드 한 줄 쓰기 전에 검증해야 할 것들. 이 단계에서 신호가 약하면 컨셉을 피벗하거나 폐기할 수 있어야 한다. 솔로 개발자가 만들고 안 팔리는 가장 흔한 이유는 이 단계 생략이다.

1. 잠재 사용자 인터뷰 (5명, 각 30분)

연 5–20권 읽는 지인 5명에게 (질문하되 답을 유도하지 않기):

검증 신호:

2. 경쟁 제품 직접 써보기 (1주씩)

체크리스트:

3. 인스타 #책스타그램 카드 분석 (30개)

인기 게시물 30개를 보고: 어떤 디자인이 좋아요 많이 받는지, 폰트·색·레이아웃 공통점, 직접 만든 사람의 작업 방법(캡처+편집 앱?).

4. 사전등록 랜딩 페이지 (1주 측정)

매우 단순한 페이지(앱 한 줄 설명 + 메일 수집)를 본인 인스타·X·블로그에 공유. 1주 안에 사전등록 50명 이상이면 약한 PMF 신호.

5. Wizard of Oz (선택)

본인이 손으로 인용구 카드를 Figma·Canva로 만들어 친구 5명에게 단톡방으로 공유 → 친구가 다시 단톡방·스토리에 올리는지 관찰. 자연스럽게 일어나면 바이럴 가능성 신호.


Risks & Mitigations

리스크 완화
책 인용구 사진의 OCR 한국어 정확도 OCR 결과를 사용자가 즉시 편집할 수 있는 UX (인용구 카드 만들기 직전 텍스트 편집 단계 필수). 즉, 정확도 100%를 전제로 하지 않는 워크플로 자체가 해법
출판사 저작권 (인용구 공유) 짧은 인용구는 인용권 인정 범위 내. 공식 가이드 작성하고 전문 인용 길이 제한 (예: 500자) 고려
Cold start (친구가 없으면 재미 없음) 소셜 없이도 솔로 도구로 가치 있게 설계 (내 서재·카드 생성 자체가 가치)
Goodreads/북적북적과 직접 경쟁 정면 경쟁 X. “리뷰”가 아니라 “인용구 카드” 한 가지에 집중 → Letterboxd가 IMDB와 다른 결로 자리잡은 패턴
솔로 개발자의 디자인 부담 V1 카드 템플릿 3–5개로 한정. 인스타 인기 글 디자인 분석 후 모방

Roadmap (목표는 천천히, 고득하게)

Stage 0a — Validation (2–3주) → “Validation” 섹션 참조

Stage 0b — UX & Design (1–2주) → “UX & Design” 섹션 참조

Stage 1 — 기반 (3–4주)

Stage 2 — 인용구 입력 (2–3주)

Stage 3 — 카드 (3–4주) ← 가장 공들일 부분

Stage 4 — 소셜 레이어 (2–3주)

Stage 5 — 출시 (1–2주)

총 14–21주 (3.5–5개월). 사용자가 “서두르지 않고 고득하게”를 원했으므로 무리 없는 페이스. Validation·Design 단계가 늘어났지만 그만큼 코딩 단계의 헛걸음이 줄어든다.

UX & Design (Stage 1 코딩 시작 전 1–2주)

이 앱의 핵심 차별화는 “카드 디자인 품질”이므로 코딩 전 디자인을 진지하게 잡는다.

작업 분담:

1. 사용자 페르소나 (1–2명)

예시:

민지, 28세, 마케터. 출퇴근 지하철 1시간 동안 종이책 읽음. 좋은 구절 만나면 책에 포스트잇 붙이거나 캡처. 인스타에 책 사진 가끔 올림. 친구 4–5명과 자주 책 추천 주고받음. 비싼 구독은 부담스럽지만 월 4,900원 정도는 OK.

2. 핵심 시나리오 5개 (Job-to-be-Done)

각각 step-by-step:

3. 화면 흐름도 (7–10개 핵심 화면)

Figma 또는 종이로:

4. 디자인 영감 보드

5. 카드 템플릿 5개 정밀 디자인 (3–5일)

이 앱의 핵심이므로 별도로 시간 투입.

각 템플릿마다 폰트·색·여백 토큰을 변수화해서 사용자 미세 조정 가능하게.


Critical Files to Create (시작 시점)

이 프로젝트는 그린필드이므로 신규 작성이다. 작업 디렉터리는 C:\GIT\ 하위 새 폴더에 생성 (예: C:\GIT\quotes-app).

초기 구조 (Expo 가정):

C:\GIT\quotes-app\
├── app\                    # Expo Router 화면들
│   ├── (auth)\login.tsx
│   ├── (tabs)\index.tsx    # 타임라인
│   ├── (tabs)\library.tsx  # 내 서재
│   └── book\[id].tsx
├── components\
│   ├── card\               # 카드 렌더링·템플릿
│   ├── ocr\                # OCR UI
│   └── book-search\
├── lib\
│   ├── supabase.ts
│   ├── aladin.ts           # 알라딘 API 클라이언트
│   └── ocr.ts
├── supabase\
│   └── migrations\         # DB 스키마
└── package.json

DB 스키마 핵심 테이블:

Verification (어떻게 “잘 됐는지” 확인할 것인가)

  1. 본인 폰에서 매일 사용 — Stage 3 끝나는 시점부터 본인이 실제 책 읽으며 인용구 저장·카드 생성. 1주 안에 5번 이상 자발적으로 쓰면 PMF 신호.
  2. 친구 3명 베타 테스트 — Stage 4에서. “이 앱으로 인용구 카드 만들어서 단톡방에 보내봐”가 자연스럽게 일어나는지 관찰.
  3. PostHog funnel — 가입 → 책 추가 → 인용구 저장 → 카드 생성 → 공유 각 단계 전환율. 출시 후 D1/D7/D30 retention.
  4. 알라딘 API 동작 — 첫 주에 검증, ISBN으로 책 정확히 매칭되는지.
  5. OCR 한국어 정확도 — Stage 2에서 다양한 책 사진(서체·조명·각도) 30장으로 정확도 측정. 사용자 편집 단계가 들어가는 워크플로상 정확도 자체보다 “편집이 얼마나 빠른가”가 핵심 지표.
  6. 카드 export 품질 — Stage 3 끝나면 본인 인스타 스토리에 실제로 올려봄. 화질·해상도·디자인이 자연스러운지.
  7. 앱 빌드·배포 검증 — Stage 5 전에 EAS Build로 실기기 빌드 1회 성공시켜둠 (배포 직전에 처음 시도하면 안 됨).

Go-to-Market

1. 가격 정책

2. 출시 채널

3. 마케팅 플랜 (예산 ≈ 0)

4. KPI / North Star Metric

5. 출시 직전 6주 액션 캘린더


Open Items (착수 시 결정)

다른 세션과의 관계

이 플랜은 본인이 메인 작업자로 진행하는 마스터 플랜이다. 작업 일부는 별도 Claude 세션에 위임한다: