Grovarc 개발기 #1 — Claude와 함께 PRD를 작성했다
새 프로젝트를 시작할 때마다 같은 실수를 반복했다. 코드부터 짜고, 나중에 “이게 뭐가 되는 거지?”를 깨닫는 것. 이번엔 코드 한 줄 짜기 전에 왜 만드는지를 먼저 명확히 하고 싶었다. Claude와 대화하면서 PRD를 작성하고, 레포 구조를 세팅했다.
목표
- Claude와 대화 기반으로 PRD 초안 완성
- Grovarc 모노레포 초기 구조 세팅
핵심 구현 포인트
1) 서비스 이름 — Grovarc
이름을 정하는 게 생각보다 오래 걸렸다. 짧고 감성적이면서 도메인도 구매 가능해야 했다.
Reflekt, Growi, Lumio 같은 이름들은 전부 이미 선점된 상태였다. 방향을 바꿔서 키워드 조합으로 접근했다.
- 성장 → Grow, Arc
- 기록 → Log, Mark
- 공간 → Space, Grove
Grovarc — Grow(성장) + Arc(성장 곡선). grovarc.dev 도메인 사용 가능 확인.
2) 핵심 문제 정의
Claude가 던진 질문이 핵심을 찔렀다.
“왜 이 서비스를 만드는 가장 개인적인 이유가 뭐예요?”
내 답은 간단했다. 처음부터 끝까지 모든 걸 혼자 하는 프로젝트를 만들고 싶어서.
거기서 타겟 유저와 핵심 문제가 자연스럽게 나왔다.
뭘 했는지 기억이 안 남
↓
회고를 쓰고 싶은데 시작이 막막함
↓
성장하고 있는지 체감이 안 됨
↓
열심히 하는데 쌓이는 느낌이 없음
개발자는 매일 성장하지만 기록하지 않아서 자신의 성장을 인식하지 못한다.
3) MVP 기능 우선순위 (MoSCoW)
기능이 많아질수록 뭐가 핵심인지 흐려진다. MoSCoW 기법으로 정리했다.
Must Have → 작업 로그 입력, AI 주간 회고 자동 생성, 기술 성장 시각화 차트
Should Have → 유사 패턴 검색 (RAG), 성장 코칭 Agent
Could Have → 월간 리포트 공유, MCP 서버
Won't Have → 팀 협업, 소셜 피드, 모바일 앱
4) 모노레포 구조 세팅
서비스가 4개(web, api, ai, mcp)라 모노레포로 관리하기로 했다.
grovarc/
├── apps/
│ ├── web/ # Next.js 프론트엔드
│ ├── api/ # Kotlin Spring Boot
│ ├── ai/ # Python FastAPI AI 서버
│ └── mcp/ # TypeScript MCP 서버
├── infra/
│ ├── terraform/
│ └── k8s/
├── docs/
│ ├── PRD.md
│ └── adr/
└── CLAUDE.md # 컨텍스트 복원 파일
CLAUDE.md는 Cursor / Claude Code에서 프로젝트 컨텍스트를 즉시 복원하기 위한 파일이다. 어느 환경에서 열어도 지금까지의 결정과 진행 상황을 파악할 수 있다.
트러블슈팅 / 고민 포인트
멀티레포 vs 모노레포
- 원인: CastCanvas Lab은 멀티레포로 했는데, 서비스가 4개인 Grovarc에도 같은 방식을 적용할지 고민됨
- 해결: 1인 프로젝트에서 4개 서비스를 오가며 개발할 때 모노레포가 컨텍스트 전환 비용이 훨씬 낮다고 판단. CLAUDE.md 하나로 전체 관리 가능한 것도 장점
결과
docs/PRD.md작성 완료 (Why, 타겟 유저, KPI, MoSCoW, 유저 스토리, 마일스톤)- GitHub 레포
grovarc모노레포 구조 세팅 완료 CLAUDE.md작성 완료 — 어느 환경에서든 컨텍스트 복원 가능
다음 개선 아이디어
- 유저 플로우 & DB 스키마 초안 작성
- API 명세 초안 작성 (Swagger 기반)
- Phase 1 인프라 세팅 시작 (Terraform, Kubernetes)