DailyLog 1단계 MVP 정의 & Definition of Done 검증
이번 글에서는
내가 처음에 정의했던 1단계(MVP)의 기준에 실제로 도달했는지를 점검하고,
그 기준을 충족했기 때문에 2단계로 넘어갈 수 있는지를 스스로 판단한다.
이 글은 “회고”이자 동시에
다음 단계를 허용해도 되는지에 대한 검증 문서다.
1. 왜 1단계 MVP를 명확히 정의했는가
사이드 프로젝트에서 가장 흔한 실패는 이것이다.
- 기능을 계속 추가한다
- 끝이 없다
- 결국 안 쓴다
- 목표점이 확실하지 않다
그래서 DailyLog는 처음부터 이렇게 정했다.
“기능을 늘리는 프로젝트”가 아니라
완료 기준점이 먼저 존재하는 프로젝트
즉, 1차적인 기준점을 먼저 만들고, 거기에 도달하면 멈춘다.
2. 1단계 MVP의 목적 (다시 확인)
1단계의 목적은 단 하나였다.
“캘린더를 열었을 때
내가 어떤 하루들을 보내고 있는지
직관적으로 인식할 수 있는가?”
의도적으로 제외한 것들:
오직 ‘인식’과 ‘기록’만 다룬다.
3. 1단계 MVP 핵심 기능 — 실제 구현 여부

1️⃣ 캘린더 중심 UI
- 첫 화면 = 월간 캘린더 ✅
- 날짜별 기록이 카테고리 색 블록으로 표시 ✅
- 한 달의 흐름을 스크롤 없이 인식 가능 ✅
→ 캘린더는 단순한 뷰가 아니라 ‘진입점’ 및 '대시보드' 역할을 한다.

2️⃣ 기본 기록 CRUD
- 생성(Create) ✅
- 조회(Read) — 월 단위 기준 ✅
- 수정(Update) ✅
- 삭제(Delete) ✅
→ 캘린더 / 그리드 어디서든 동일한 모달 UX 사용
3️⃣ 카테고리 + 색상 고정
- 카테고리 enum 고정 (EXERCISE / STUDY / MEETING) ✅
- 카테고리별 색상 통일 ✅
- 사용자 커스터마이징 없음 ✅
→ 시각적 의미를 줄이기 위해 선택지를 줄였다.

4️⃣ 최소 입력 UX
- 필수 입력:
- 날짜(logDate)
- 카테고리
- 제목(title)
- 메모(content)는 선택이지만 권장
- “작성”이 아니라 “확인 후 저장”에 가까운 흐름 ✅
5️⃣ 최근 7일 복사 입력
- 최근 1주일 기록 계산 ✅
- 클릭 1번으로 자동 채움 ✅
- 저장까지 2~3번의 액션으로 완료 ✅
- EXERCISE 우선 추천 로직 적용 ✅
→ 반복 기록의 ‘귀찮음’을 제거하는 데 실제로 효과가 있었다.
(하지만 이를 카테고리 별로 줄일지 더 고민해야하는 문제임)
4. 1단계에서 하지 않기로 한 것 — 지켰는가?
의도적으로 제외한 기능들:
- 알림 / 리마인드 ❌
- 차트 / 통계 ❌
- AI 요약 ❌
- 커스텀 이미지 / 도트 트래커 ❌
- 세부 운동 구조화 ❌
- 로그인 / 계정 / 공유 ❌
- 모바일 앱 ❌
👉 단 하나도 넣지 않았다.
이 점이 오히려 이번 단계의 완성도를 높였다.
5. 기준점 최종 점검
아래 조건을 모두 만족하면
1단계는 ‘완료’로 판단하기로 했다.
- 캘린더에 월 단위 기록이 정상 표시된다 ✅
- 날짜 클릭 → 추가/수정/삭제가 안정적이다 ✅
- 색 블록만 봐도 하루의 활동이 인식된다 ✅
- 최근 7일 복사 입력으로 빠르게 기록 가능하다 ✅
- 실제로 며칠 이상 사용해도 거부감이 없다 ✅
👉 모두 충족했다.
따라서
1단계는 완료되었다고 판단한다.
⚠️ 중간에 겪은 실패: WebSquare 연동 시도
처음에는 프론트엔드를
WebSquare 기반으로 구성하려는 시도를 했다.
SI회사 특성상 웹스퀘어, 넥사크로, 엑스프레임 같은 것을 많이 써서 선행 학습 및 적응용으로 쓰기 위해 시도했다.
결과는 실패였다.
실패 이유
- 유효한 라이선스 없이는 정상적인 개발이 어려움
- SPA 구조에 맞지 않음
- Git 협업 / 컴포넌트 분리에 치명적인 제약
- 개인 프로젝트의 속도와 목적에 부적합
중요한 교훈
이 실패는 시간 낭비가 아니었다.
- “기술적으로 가능한가?”보다
- “이 프로젝트의 목적과 맞는가?”가 더 중요하다는 걸 깨달았다.
그래서 과감히:
- WebSquare 제거
- React SPA로 전면 전환
- Backend는 순수 API 서버로 역할 고정
👉 이 결정이 없었다면
지금의 1단계 완성도는 불가능했다.
Related Posts:
연동시키기 1편
연동시키기 2편
연동시키기 3편
🤖 2단계로의 전환 — AI 어시스턴트
1단계가 끝났기 때문에
이제서야 2단계를 이야기할 수 있다.
2단계의 역할 정의
AI는 코치도, 평가자도 아니다.
“정리자” 역할만 수행한다.
2단계에서 할 것
- 주간 / 월간 기록 요약
- 패턴 인식
- 맥락 정리 (무슨 날이 많았는지, 흐름이 어땠는지)
하지 않을 것
- 평가 ❌
- 훈계 ❌
- 목표 설정 ❌
- 행동 교정 ❌
👉 판단은 여전히 사용자의 몫
AI는 해석을 도와줄 뿐이다.
(이에 관련한 프롬프트 작성 및 수치적으로 어떻게 평가할 건지에 대해서 공부해야한다..)
7. 정리
DailyLog 1단계는:
기능을 많이 만드는 대신
사용 흐름이 깨지지 않는 것을 목표로 했다.
Vite도 활용해보고 프론트와 백 모두 다룰 수 있어서 좋았다.