Doki World 개발 회고
기간: 2026-02-04 ~ 2026-03-09 (34일) 총 커밋: 90개 | Claude 세션: 196개 | 작업일: 24일
← Doki World 개발기로 돌아가기
날짜별 개발 행적 — 있는 그대로
Day 1 — 2026-02-04 (커밋 1개)
Initial commit from Create Next App— Next.js 프로젝트 생성 (17파일, +6837줄)
Day 2 — 2026-02-05 (커밋 3개)
feat: DOKI WORLD 비주얼 노벨 게임 구현— 76파일 변경, +9582줄. 하루 만에 초기 구현 완료fix: 다중 캐릭터 응답 시 질문 조율 규칙 추가feat: background— 배경 에셋 19파일 추가
Day 3 — 2026-02-06 (커밋 3개)
feat: SSE 스트리밍 + Chat/VN 듀얼 모드 구현— 30파일, +2213줄. 핵심 UX 구현fix: 사이드바 토글 버튼 헤더 내부로 이동feat: dialogue_direction으로 다중 캐릭터 대화 흐름 개선
Day 4 — 2026-02-07 (커밋 1개, 세션 3개)
docs: README.md 아키텍처 문서 작성- 세션: API 비용 문제로 느린 모델 강제 사용 → “UX적으로 해결할 방법 아이디어 10개 내봐”
- 세션: 아리아 외모 에셋 생성을 위한 프롬프트 작성 (asset_generator 연동 시작)
- 세션: dev 실행
Day 5 — 2026-02-08 (커밋 1개, 세션 6개)
feat: asset update— 21파일 에셋 업데이트- 세션: “에이전트 팀 구성하고 싶어. 클로드코드 에이전트 팀 기능 알아?”
- 세션: “예전 버전만하더라도 대화내용이 되게 자연스러웠는데, 모델이 바뀌어서 그런건지 먼가 바뀌었어” — qdrant를 RAG + SQL 겸용으로 쓸 수 있는지 질문
- 세션: “후.. 우리가 너무 어렵게 짠 것 같아.. 우선은 스토리가 어색하지 잘 진행되는 것에 집중해서 다시 해보자” — 별도 데모 버전(doki_world_demo) 참조하며 리팩토링 결심
Day 6 — 2026-02-09 (커밋 6개, 세션 7개)
refactor: 2-call 아키텍처로 전면 리팩토링— 25파일, -3259줄 삭제 (qdrant 의존성 제거)fix: Chat 모드 나레이션이 아리아 버블로 보이는 버그 수정— 24파일, +2982줄feat: 에피소드 2 추가, 프롬프트 상황 몰입 연기 개선- 세션: “qdrant로 모든걸 조회하고 있는데, mysql로 전환하고 싶어. 벡터 디비는 차용하지 않기로 했어” — DB 아키텍처 전환 결정
- 세션: “스트리밍 과정에서 대사가 원본데이터가 보였다가 컴포넌트로 변환되고 있어”
- 세션: “나레이션이 아리아가 답변하는것처럼 나오다가 바뀌는 현상”
- 세션: 스토리 1→2 전환 기능 설계 (에피소드 시스템)
- 세션: “페르소나들이 좀 더 생동감있게 대사를 뱉었으면 좋겠어. 스토리라인이 반영되면 좋겠어”
Day 7 — 2026-02-10 (커밋 4개, 세션 14개) ← 가장 세션 많은 날 중 하나
feat: CG z-index 수정 + 문서 구조 개편— 167파일, +6115줄 (CLAUDE/FRONTEND/BACKEND.md 분리)feat: version 1— 43파일 변경feat: Call 1 JSON 출력 전환 + 묘사→inner_thought + 메이 환영 시퀀스fix: 재접속 시 CG(sceneImage) 상태 복원 + 스티커 null 가드- 세션들 (주요):
- 이모티콘 기능 동작 안 함
- 스토리 설명글 UI 깨짐
- 어드민 페이지 기획 (DB 수동 수정 필요성 인식)
- CG 장면 이미지 렌더링 구현 논의
- “씬 보여주는 UI가 채팅창이랑 가리고 있어” — z-index 레이어 정리
- “기획했던 기능은 전부 구현되었어. AI 응답과 장면 전개만 깔끔하게 처리되면 완벽” — 버그 목록 나열
- 스토리 전환 시 모달 타이밍 문제
- 아리아 에셋 교체 (asset_generator 결과물 적용)
- 스티커 빈문자열 버그, CG 재접속 시 복원 안 됨
Day 8 — 2026-02-11 (커밋 11개, 세션 9개) ← 최다 커밋
feat: MySQL → Supabase PostgreSQL 마이그레이션— 14파일fix: prisma.config.ts 미지원 directUrl 제거/tsconfig exclude/build에 prisma generate— Vercel 배포 에러 연쇄 수정fix: Prisma 어댑터 패턴 implicit 'any' 타입 에러 일괄 수정feat: Chat/VN 모드 전환 가이드 말풍선 추가— 첫 방문 유저 온보딩feat: QA 개선 6건 — 메모리 시스템, 프롬프트 강화, 수동 진행, 루프 방지, 어드민 인증feat: 프롬프트 Class 리팩터링 + 스토리 완료 지연 처리— 12파일, +968줄refactor: 이미지 에셋 public/assets/로 일원화— 84파일, -572줄- 세션들:
- “supabase로 마이그레이션할려고해. DB 관련 로직만 건드리면 될거야”
- “채팅 응답들이 안오고 있어, supabase에 없는 것들이 있나?” — 마이그레이션 후 데이터 누락 디버깅
- “플레이어가 입력하는 답변에 대하여 캐릭터들이 좀 더 적극적으로 대답하면서 스토리에 필요한 대사를 뱉도록 조정” — QA 후 개선
- “프롬프트들이 너무 파편화되어있어. Class 활용해서 한눈에 보이게 정리해줘”
- “DB를 조회해서 현재 페르소나들의 프롬프트를 조정하자” — 실제 대사 로그 기반 프롬프트 튜닝
- 아리아 이미지 매핑 오류
2026-02-12 — 쉬는 날
Day 9 — 2026-02-13 (커밋 2개, 세션 15개) ← 최다 세션
feat: 아리아 캐릭터 의도 수정 + 스토리 완료 스티어링 시스템— 40파일, +5200줄feat: 턴 디버그 패널 + Guard 프롬프트 오탐 방지 강화- 세션들 (주요):
- 결제 기능 설계 시작 (“Ring이라는 기린얼굴의 화폐 사용. 1 Ring은 채팅횟수 10회”)
- 베타테스터 대화 데이터 추출 → 마크다운 파일 생성
- 모니터링 페이지에서 유저별 호감도 변화 상세 보기
- 스토리 1 프롬프트 점검 (“계속 내옆에있을거라고 불안해하지말라고 하는데, 다른 식으로 전개할 수 없을까?”)
- “테스트로 AI한테 욕을 했는데 호감도 15점 깎이고 응답이 아예 없었어” — Guard 오탐
- “CLAUDE.md에 모든 요청마다 마무리에 문서 업데이트하도록 강제하는 내용 작성” — 문서 동기화 규칙 탄생
- “스토리를 시작할때마다 유저에게 목표를 인지시키는 UI/UX 구현해줘”
- “메인씬이 나오니까 갑자기 내 응답이 씹히는데?” — 버그
- “호감도가 일정 점수 이상 오르면 스토리를 완료하기 위한 준비를 해야되는데 전혀 그런 기미가 보이지 않아” — 스티어링 시스템 필요성
- “어드민 로그인이 제대로 안되는데?”
- “blocked의 기준이 너무 센거같아. 멀쩡한 질문인데도 block이돼” — Guard 프롬프트 오탐
- “어드민모드로 진행했을 때 실제 입력되는 인풋과 응답들을 모두 확인할 수 있는 페이지가 필요해” → 턴 디버그 패널
- “Call1에서 치명적인 오류. System 프롬프트에 캐릭터 페르소나가 반영 안 되네?“
2026-02-14 — 쉬는 날
Day 10 — 2026-02-15 (커밋 0개, 세션 3개)
- 세션: buildCall1Messages 시스템 프롬프트 분리 (시스템, 캐릭터 페르소나, 이전 컨텍스트)
- 세션: “2월 28일안에 런칭을 해보고 싶어. 현재 어떤 부분들이 보완되어야 첫 MVP 완성일 것 같아?” — 런칭 목표 설정
Day 11 — 2026-02-16 (커밋 2개, 세션 3개)
feat: 동적 스토리 전개 + 프롬프트 65% 축소 + 대화 리듬 개선— 12파일, +1282/-977줄fix: seed.ts 씬 slug 변경 시 unique constraint 충돌 방지- 세션: streaming chat error: ‘max_tokens’ 미지원 파라미터 — 모델 API 에러 디버깅
Day 12 — 2026-02-17 (커밋 0개, 세션 5개)
- 세션: 동적 스토리 전개 설계 (“처음 장면과 마지막 엔딩만 고정, 중간은 자유”)
- 세션: “Zeta.ai나 다른 페르소나 채팅 서비스들이 어떻게 구현했는지 좀 조사해봐” — 경쟁사 분석
- 세션: “대체 zeta나 타 서비스 앱들처럼 대화 흐름이 자연스럽게 하려면 어떻게 해야될까? 나 진짜 모르겟어. 현재 대화가 너무 맘에 안들어..” — 좌절
- 세션: “기존 Chat의 기능이 너무 불안정해. 너와 내가 조금 더 리뷰하면서 새로 짜야될 것 같아. Client에 연결된 라우트를 chat-v2로 옮겨줘” — v2 리라이트 결정
2026-02-18 — 쉬는 날
Day 13 — 2026-02-19 (커밋 1개, 세션 5개)
feat: Creative/Judge 2-call 파이프라인 + 리치 내러티브 + 캐릭터 혼란 수정— 35파일, +2210/-2417줄 (대규모 리팩토링)- 세션: TurnDebug 시간순 정렬 안 됨
- 세션: “Risuai 분석해서 우리가 어떤 부분을 빠트렸는지 판단해줘” — 또 다른 경쟁 서비스 분석
- 세션: “현재 코드베이스에서 기존 기능들을 적어놓은 MD파일들이 존재해. 아예 새로 설계해줘” — 아키텍처 재설계
Day 14 — 2026-02-20 (커밋 1개, 세션 5개)
feat: 랜딩 페이지 + 로그인 페이지 + 노벨 시스템 + 7캐릭터 확장— 54파일, +6907줄- 세션: Novel 상위 개념 도입 (“이세계물인 아리아 말고도 다른 세계관들의 여러 novel 컨텐츠들을 만들거야”)
- 세션: admin/stories 페이지 Novel별 그룹핑
- 세션: 노벨 전환 시 이전 대화내용 잔존 버그
Day 15 — 2026-02-21 (커밋 1개, 세션 5개)
feat: Google OAuth 인증 + 노벨 전환 시 스토리 강제완료 버그 수정— 38파일- 세션: 로그인 기능 + 결제 기능 연동 설계 (Google OAuth only)
- 세션: GameScreen 구조 설명 요청
- 세션: “스토리 진행 상태관리가 엉망이야. chat-v2에서 storyId나 novelId를 받지 않는 이유도 모르겠고” — 노벨 전환 시 채팅이 섞이는 문제
- 세션: “QA중인데 문제가 너무 많아보여. 대화가 10개가 넘었는데 beat가 전혀 안넘어가” — OVERTIME 무한 루프 QA 보고서
- 세션: “QA해줘. 구글로그인이 필요할때만 날 불러” — 자동 QA 시도
Day 16 — 2026-02-22 (커밋 2개, 세션 7개)
feat: 대화 품질 개선 + Zustand 상태 관리 + 에셋 추가— 114파일, +4393줄 (최대 변경)feat: 페르소나 채팅 시스템 (1:1 개인채팅 + 단체채팅)— 26파일, +1781줄- 세션: EP1 “별빛 신전의 각성” QA 리포트 (15턴, 호감도 85 달성)
- 세션: asset_generator에서 생성된 에셋 매핑
- 세션: 완료 후 호감도 97로 CG unlock 확인 → 대사 자연스러움 판단
- 세션: CG lock 레코드 미생성 → 시드 수정
- 세션: 노벨 전환 시 배경 안 바뀌는 버그
- 세션: “브라우저에 다시 띄워놨어. 스토리 1부터 끝까지 진행해봐” — QA 재시도
Day 17 — 2026-02-23 (커밋 6개, 세션 5개)
remove: 월요일의 온도 노벨 전체 삭제 (실사판 중단)— 34파일, -1714줄fix: Google OAuth 로그인 실패 수정→fix: PKCE 비활성화→fix: NextAuth secret 명시적 설정→fix: middleware→fix: NextAuth v5 쿠키 이름 명시로 Vercel 세션 null 해결— OAuth 연쇄 버그 5개 커밋- 세션: “페르소나들과 개인채팅을 할 수 있는 기능을 제공하고 싶어. 단체 채팅 기능”
- 세션: “월요일의 온도 스토리 삭제해줘. 실사판은 아예 안할거야”
- 세션: “로그인이 안되고있어. 에러로그가 따로 남는것도 아닌데” — OAuth 디버깅 시작
Day 18 — 2026-02-24 (커밋 2개, 세션 13개)
feat: payment— 95파일, +6922줄 (결제 시스템 대규모 구현)feat: 에셋 및 결제기능 업데이트— 48파일- 세션들 (주요):
- “월요일의 온도를 코드상에서 지웠지만 반응이 좋아서, db에서 다시 seed를 복구해줘” — 삭제 번복 (애니메이션 버전으로 재생성)
- 노벨 1, 3 썸네일 프롬프트 작성 (stable diffusion용)
- “이세계의 별도 전체적인 스토리를 좀 더 썸타는 내용 위주로 다시 작성해줘. 무조건 히로인들과 썸타는 내용” — 스토리 방향 전환
- CLAUDE.md 정리 → STORY.md 분리 결정
- “네루라고, 좋은 장면이 있는데, 그게 날라갔네?” — 스토리 변경으로 캐릭터 유실
- 새 페르소나(jinsuk, luna) 에셋 매핑
- “결제기능 본격적으로 시작”
- 스토리 업데이트 + 에셋 추가 목록 요청 (서비스씬 강조)
- DokiWorld 로고 SVG 생성
Day 19 — 2026-02-25 (커밋 4개, 세션 10개)
feat: 도메인 설정, 결제/약관/개인정보 페이지 추가— 34파일, +3142줄feat: 로고/favicon 시스템 정비 및 config 중앙화feat: landing/feat: UI 개선- 세션들 (주요):
- “런칭전까지 해야할 일들을 정리하고 싶어. md파일들에서 아직 남은 todo들 모두 뽑아줘”
- “성인만 이 서비스를 이용하게 하고 싶어” — 성인 인증 설계
- 이용약관/개인정보처리방침/사업자 정보 표시 작업
- “prisma db push가 너무 오래걸려” — Supabase 성능 문제
- “서비스 도메인 사왔어. www.doki-world.xyz ” — 도메인 적용
- “월요일의 온도 novel 클릭해도 이세계의 별 대화 내용이 출력돼” — 노벨 분리 버그
- balance API에서 인증 에러
- “월요일의 온도 배경들이 적용이 안되고있어” — 경로 매핑 문제
- 랜딩 페이지용 스크린샷 촬영 시도
Day 20 — 2026-02-26 (커밋 0개, 세션 6개)
- 세션: “AI 생성 콘텐츠 고지 — AI 기본법 (2026.01.22 시행) 해당 부분 구현”
- 세션: DialogueBox 나레이션 가독성 개선
- 세션: 법적 요건 대응
Day 21 — 2026-02-27 (커밋 0개, 세션 12개)
- 세션들 (주요):
- Creem 서비스 소개글 작성
- DB 조회로 이세계의 별 스토리 확인
- “play 화면에서 처음 init 과정에서 기본 base 이미지가 이세계의 별 기반” — 초기 로딩 문제 → react-query 도입 제안
- 상점 페이지 FAQ + 프로덕트 카드 개선
- “asset-generator에서 상당히 난항을 겪고 있어. 자꾸 다른 얼굴이 됨” — 에셋 일관성 문제
- “로컬라이즈 설계해. 유저 에이전트에 맞춰 로컬라이즈 옵션” — i18n 설계 시작
Day 22 — 2026-02-28 (커밋 6개, 세션 8개) ← 원래 런칭 목표일
feat: i18n 로컬라이제이션, 에셋 파이프라인, 캐릭터/배경/CG 에셋 갱신— 226파일, +22759줄 (최대 변경 커밋)feat: 반응형 웹 + 이미지 최적화 + E2E 테스트 환경 구축— 95파일fix: 로그인 페이지 getTranslations 에러fix: AI 동의 모달 재렌더링 루프 수정fix: iOS 뷰포트 오버플로우 + 모바일 채팅 밀도 최적화refactor: 스토리 초기화 흐름 통합 — API 2개→1개- 세션들:
- asset_generator 결과물 매핑 (새 캐릭터 스프라이트, 이벤트 CG)
- PLAN.md 남은 작업 확인
- 모바일 반응형 + 이미지 최적화 작업
- getTranslations 에러 + 로고 반응형 수정
Day 23 — 2026-03-01 (커밋 8개, 세션 9개)
feat: 결제 시스템 강화 — 광고 보상, rate limit, 어드민 API, QA 시나리오— 49파일, +2436줄fix: 재접속 시 VN모드 빈 화면feat: 이용약관 동의 + 연령 인증 통합 플로우fix: 연령 인증 멱등성 버그→fix: JWT 동의 필드 DB 자동 갱신→refactor: JWT 콜백 trigger 제거— 인증 연쇄 수정feat: play 페이지 i18n + 모바일 UI 개선/feat: GNB + 상품명 i18n- 세션들:
- 월요일의 온도 배경 비어있음 → 시드/DB 확인
- “첫 로그인(회원가입)할때 성인 인증을 받도록 처리”
- 결제 테스트 시나리오 작성 → QA 시작
- “VN모드 적용하면 아무것도 나오지 않음” — 세션 복원 시 vnQueue 누락
- 모바일 play 화면 개선 (인풋 위치, 캐릭터 크기, GNB 간소화)
- 랜딩 페이지 기획 재검토 (“구현되지 않은 것들이 너무 강조되고 있어”)
Day 24 — 2026-03-02 (커밋 2개, 세션 2개)
feat: 랜딩 페이지 리디자인 + DB/API 최적화 + Creem 테스트 설정feat: CG 앨범 노벨별 필터링 + 페르소나 채팅 대사 전용 포맷- 세션: “페이지 이동마다 로딩이 조금 긴 것 같아. DB 슬로우 쿼리들 찾아줘”
- 세션: 결제 QA 시나리오 파일 리뷰
Day 25 — 2026-03-03 (커밋 10개, 세션 13개)
fix: 랜딩 페이지 "게임" → "노벨/비주얼 노벨" 문구 수정feat: 프로덕션 결제 키 연동 + 상점 비로그인 접근 허용feat: GNB 통합 + 상점 링크 추가/ 여러 GNB fixfeat: Creem 프로덕션 product ID 시드 추가feat: Ring 1년 유효기간 + 7일 환불 시스템 (토스페이먼츠 심사 대응)— 15파일, +668줄docs: 이용약관 환불 정책 업데이트- 세션들 (주요):
- “유저 밸런스 조회가 이상해. 670개 채팅이 조회되는데” — 인증 로직 버그
- Creem 스토어 배너 프롬프트 작성
- 토스 페이먼트 심사 피드백 대응 → 환불 시스템 구현
- “dev 환경 구축할 수 있나? 로컬도 프로덕션 DB에 연결되어서 불안” — 로컬 개발 환경 필요성
Day 26 — 2026-03-04 (커밋 10개, 세션 16개) ← 최다 세션 + 최다 커밋 동시
feat: 달빛 궁정 전면 개편 — 하루 여성화 + 서비스씬 강화— 68파일, +1805줄feat: i18n 전면 적용 + 이중 언어 시스템feat: 어드민 인증 보안 강화 (ENV 비밀번호 → Google OAuth) + 랜딩 페이지 리뉴얼fix: AI 응답 언어 강제 지시 + sceneMeta/storyGoal 로케일 오버레이fix: GNB 로고 축소 + 푸터 로고 확대fix: 스토리 시작 locale 전달 + 랜딩 스크롤 위치 조정fix: 채팅 UI 전체 i18n 적용fix: 캐릭터 이름 표시 i18n 적용feat: 로컬 개발 환경 구성 + i18n 브라우저 언어 감지 비활성화feat: 이용약관/개인정보처리방침 i18n + 푸터 면책 조항 추가- 세션들 (주요):
- “달빛 궁정 스토리를 좀 더 재밌게 개편하고 싶어. 하루는 남캐이되, 주변 호위무사는 모두 여자”
- 모바일 반응형 (채팅 인풋 여백, 탑 메뉴 높이)
- play 페이지 노벨 카드 번역 안 됨
- “어드민 페이지 보안이 너무 부실해. env값 대신 구글 로그인 한 계정만 허용”
- i18n: 나레이션 한글 그대로 출력, 채팅 응답도 한글 — 언어 설정 반영 안 됨
Day 27 — 2026-03-05 (커밋 1개, 세션 2개)
fix: .env.local.example 테스트 키 제거 + CLAUDE.md 보안 규칙 추가- 세션: 브라우저 언어 설정과 무관하게 정적 텍스트 변경 처리
- 세션: “Dev용 테스트 환경 만들어줘. docker 활용”
Day 28 — 2026-03-06 (커밋 0개, 세션 2개)
- 세션: “git 가디언즈에 경고를 받았어. 니가 자꾸 .env.example같은 곳에 진짜 키를 박기때문에” — 보안 규칙 강화
- 세션: 토스 페이먼트 문서 리뷰 → 미비 사항 분석
Day 29 — 2026-03-07 (커밋 2개, 세션 1개)
feat: Ring 용어 전면 제거 + 채팅 횟수 직접 단위 전환— 47파일, +1323/-1162줄fix: 마이그레이션 SQL 컬럼명을 Prisma 실제 DB명으로 수정
2026-03-08 — 쉬는 날
Day 30 — 2026-03-09 (현재)
- 세션: 토스페이먼츠 계약팀 답변 대응
- 세션: Event CG 사이즈 안 맞는 문제 수정
- 세션: “Creem에서 우리 제품은 금지품목이라고 밴당했어”
- 세션: 이 회고 리포트 작성
통계 요약
커밋 분포
| 날짜 | 커밋 | 세션 | 비고 |
|---|---|---|---|
| 02-04 | 1 | 0 | 프로젝트 생성 |
| 02-05 | 3 | 0 | 초기 구현 (1일만에 9582줄) |
| 02-06 | 3 | 0 | SSE + 듀얼 모드 |
| 02-07 | 1 | 3 | 문서 + API 비용 고민 |
| 02-08 | 1 | 6 | 대화 품질 좌절, 데모 참조 |
| 02-09 | 6 | 7 | qdrant→MySQL 전환, 리팩토링 |
| 02-10 | 4 | 14 | z-index 정리, v1 선언 |
| 02-11 | 11 | 9 | MySQL→Supabase, OAuth 에러 연쇄 |
| 02-13 | 2 | 15 | 결제 설계, Guard 오탐, 디버그 패널 |
| 02-15 | 0 | 3 | 런칭 목표 설정 (2/28) |
| 02-16 | 2 | 3 | 프롬프트 65% 축소 |
| 02-17 | 0 | 5 | 경쟁사 분석, 좌절, v2 결심 |
| 02-19 | 1 | 5 | 2-call 파이프라인 완성 |
| 02-20 | 1 | 5 | Novel 계층 도입, 7캐릭터 확장 |
| 02-21 | 1 | 5 | OAuth + QA “문제가 너무 많아” |
| 02-22 | 2 | 7 | Zustand + 페르소나 채팅 |
| 02-23 | 6 | 5 | 월온도 삭제, OAuth 연쇄 버그 5개 |
| 02-24 | 2 | 13 | 결제 대규모 구현, 스토리 방향 전환 |
| 02-25 | 4 | 10 | 도메인 + 약관 + 사업준비 |
| 02-26 | 0 | 6 | AI기본법 고지 |
| 02-27 | 0 | 12 | i18n 설계, 에셋 일관성 난항 |
| 02-28 | 6 | 8 | i18n 22759줄 (런칭 목표일 — 미달성) |
| 03-01 | 8 | 9 | 결제 강화, 인증, i18n |
| 03-02 | 2 | 2 | DB 최적화, QA |
| 03-03 | 10 | 13 | 프로덕션 결제, 환불 시스템 |
| 03-04 | 10 | 16 | 달빛궁정 개편, i18n 전면, 어드민 보안 |
| 03-05 | 1 | 2 | Git Guardian 경고 대응 |
| 03-06 | 0 | 2 | 토스 심사 대응 |
| 03-07 | 2 | 1 | Ring 용어 제거 |
| 03-09 | 0 | 5 | 토스 답변, Creem 밴, 회고 |
총 코드 변경량
- 총 커밋: 90개
- 총 Claude 세션: 196개 (커밋 대비 2.2배)
- 총 작업일: 24일 (주말/쉬는 날 제외)
- 커밋 없는 작업일: 5일 (02-15, 02-17, 02-26, 02-27, 03-06 — 세션은 있었음)
주요 전환점
- 02-08: “너무 어렵게 짠 것 같아” → 데모 버전 참조 결심
- 02-09: qdrant → MySQL 전환 결정
- 02-11: MySQL → Supabase PostgreSQL 마이그레이션 (3일만에 재전환)
- 02-13: 결제 설계 시작 (Ring 재화 개념)
- 02-15: “2월 28일안에 런칭” 목표 설정
- 02-17: “대화가 너무 맘에 안들어” → chat-v2 리라이트 결정
- 02-19: Creative/Judge 2-call 파이프라인 확정 (최종 아키텍처)
- 02-20: Novel 계층 도입 — 단일 스토리 → 멀티 노벨 전환
- 02-23: 월요일의 온도 삭제 → 02-24 복구 (애니메이션 전환)
- 02-23: NextAuth OAuth 연쇄 버그 5커밋 연속
- 02-28: i18n 22759줄 — 가장 큰 단일 커밋 (런칭 목표일, 미달성)
- 03-03: 토스 페이먼트 심사 대응 → 환불 시스템 급조
- 03-07: Ring 재화 → 채팅 횟수 직접 단위 전환 (개념 단순화)
- 03-09: Creem 밴 — 결제 PG 재검토 필요
Claude 세션 패턴
세션 유형 분포 (196개 중)
- 버그 수정/디버깅: ~45개 (23%) — “안 돼”, “에러”, “이상해”, “깨져”, “안되고있어”
- 기능 구현 요청: ~40개 (20%) — “만들어줘”, “구현해줘”, “개발해줘”
- 설계/기획 논의: ~25개 (13%) — “설계해”, “기획해”, “고민해보자”
- QA/점검: ~20개 (10%) — “QA해줘”, “점검해줘”, “확인해”
- 에셋 관련: ~18개 (9%) — asset_generator 연동, 매핑, 프롬프트 작성
- 프롬프트 튜닝: ~15개 (8%) — AI 대화 품질 개선
- 문서 정리: ~12개 (6%) — CLAUDE.md, PLAN.md, 이용약관
- dev 실행/빈 세션: ~16개 (8%) — “dev 실행해”, empty
- 외부 서비스 대응: ~5개 (3%) — 토스, Creem, Git Guardian
반복적으로 등장한 키워드/감정
- “이상해” / “안 돼” / “깨져” — 지속적 버그 발생
- “너무 어렵게 짠 것 같아” / “대화가 너무 맘에 안들어” / “나 진짜 모르겠어” — 좌절 표현 3회
- “전면 리팩토링” / “전면 개편” / “전면 적용” / “아예 새로” — 전체 재작성 4회 이상
- “QA중인데 문제가 너무 많아보여” — QA 결과에 대한 압도감
- “런칭” / “런칭전까지” — 런칭 압박
DB 변경 이력
- Qdrant (벡터 DB) — 초기
- → MySQL — 02-09 (qdrant 포기)
- → Supabase PostgreSQL — 02-11 (2일만에 재전환)
AI 파이프라인 변경 이력
- 단일 호출 — 초기
- → 2-call (문서 기반) — 02-09
- → 2-call 전면 리팩토링 — 02-09~02-10
- → chat-v2 리라이트 — 02-17
- → Creative/Judge 2-call 파이프라인 최종 — 02-19
결제 PG 변경 이력
- Ring 재화 설계 — 02-13
- → 결제 구현 (Creem + 토스) — 02-24
- → 토스 심사 대응 (환불 시스템, 유효기간) — 03-03
- → Ring → 채팅 횟수 직접 단위 — 03-07
- → Creem 밴 — 03-09
이 문서는 git 커밋 90개와 Claude Code 세션 196개의 원본 데이터를 기반으로 작성되었습니다. 해석이나 평가 없이, 발생한 사실과 행동을 시간순으로 기록합니다.
Last updated on