새로운 화장을 연습하고 싶은 사람들을 위한 서비스
0단계 — 구상 (~9/14)
처음 구상(v3)은 3D 가 중심이었습니다. 사진 4장으로 3D 얼굴 모델(FLAME)을 만들어 화장을 입히고, 들뜸 판정과 음성 안내까지 넣는 안이었습니다. 9/14 에 v5 로 줄이면서 이렇게 바꿨습니다.
3D 를 빼고 색·조명·눈꺼풀 같은 기준만 남김
채점을 "자동"에서 "확인받기 버튼을 누를 때"로
자체 학습 모델을 셋에서 하나로
1단계 — 정의와 시험판 (9/15~9/20)
9/15: 서비스 정의서 v6 확정. 이때 이름은 "당화응"이었습니다. 흐름은 맨얼굴 4장 촬영 → 화장 10종 중 선택 → 내 얼굴에 입혀 보기 → 부위마다 [완성본 → 실시간 테두리 → 확인받기 → 점수] → 합산 점수였습니다.
9/16~18: 본 개발 전에 화면별 시험판(POC)을 만들었습니다(
poc/full). 화면 5 시험판을 해 보고 "재시도 없음"을 철회하고, 길이 단위를 mm 에서 얼굴 비율로 바꿨습니다.9/18: 작업 항목을 이슈로 쪼개 모듈별로 나눴습니다. 같은 날 강제 푸시 사고가 있어 브랜치 규칙을 정리했습니다. 라이선스도 이때 검토해서 비상업 모델(DSINE)을 뺐습니다.
2단계 — 화면별 구현 (9/21~9/28)
촬영 조건 판정, 실시간 가이드 테두리, 품질 게이트를 만들었습니다.
서버에서 생성 모델(Stable-Makeup)로 화장 그림을 만들었습니다.
논문 기반 규칙으로 얼굴에 맞춰 화장 모양을 바꾸는 개인화를 넣었습니다.
성능을 측정해서 고쳤습니다. 얼굴 찾기가 중복으로 돌던 것을 줄여 S23 에서 프레임당 49.9ms → 약 31ms.
가림 판정은 손 인식 모델 대신 "이마 색이 갑자기 변하는가"로 바꿨습니다(오판 21% → 0.8%, 모델 용량 제거).
9/28 에 ③ 채점 담당이 바뀌었습니다.
3단계 — 큰 변경과 실기기 점검 (9/29~10/2)
9/29: 서비스 이름을 nudy 로, 화면 문구를 "룩"에서 "화장"으로 바꿨습니다. 서버 생성 그림(Stable-Makeup)을 빼고, 폰에서 실시간으로 입혀 보는 AR 로 바꿨습니다. 개인화는 VLM(Gemma 4 E4B)이 정하고 규칙이 거르는 구조로 갔습니다.
9/30: 폰 실기기 점검. 화장 10종 템플릿을 새로 넣고, 사파리에서 화장이 딱딱한 도형으로 나오던 것 등을 고쳤습니다.
10/1: 채점의 약점이 이슈로 쏟아졌습니다. 맨얼굴끼리 5% 확대만 해도 57% 가 점수가 나고, 덜 채워도 97점이 나오는 식이었습니다. 이때부터 채점을 "그린 모양이 맞는가"로 바꿔 보는 실험 브랜치(
score-shape)를 시작했습니다.10/2: VLM 개인화를 보류하고 회고 문서를 남겼습니다. 사진 한 장의 깊이로 테두리를 3D 회전시키는 안도 점이 튀어 실패했습니다.
4단계 — 걷어내기 (10/5)
개인화를 뺐습니다. 모두 같은 표준 계획으로 그리고, VLM 서버가 없어도 앱이 돌게 했습니다. 얼굴에 맞추는 일(자리·크기)은 얼굴 점이 이미 하고 있었고, 모양까지 바꾸던 규칙은 더하는 것이 작고 근거가 약했습니다.
5단계 — 새 흐름으로 전환 (10/6)
가장 큰 전환입니다. 흐름을 통째로 바꿨습니다.
빠진 것대신화장 10종 템플릿사용자가 올리는 참고 사진실시간 입혀 보기(AR)예상 메이크업(정지 그림)부위 완성본 · 실시간 테두리부위 가이드(예상 메이크업을 자른 사진 + 점·선)부위별 확인받기 · 점수시도사진 → 문장 피드백(점수 없음)맨얼굴 4장맨얼굴 1장세션 끝에 전부 삭제결과를 폰에 저장·공유
이유는 셋입니다. 실사진 맨얼굴에도 점수가 나왔고(헛채점), 부위별 중간 확인이 제 역할을 못 했고, 실시간 가이드·템플릿·개인화가 더하는 것이 작았습니다. 같은 날 새 흐름의 뼈대(빈 화면 자리)를 먼저 만들어 병합했습니다.
6단계 — 새 흐름 채우기와 배포 (10/7~10/9)
10/7: 예상 메이크업을 만드는 방식을 하나로 정했습니다. 두 방식이 main 에 있었는데, 얼굴 전체를 다시 그리는 방식은 화장이 없는 사진에도 눈 크기·이마 밝기가 바뀌어서, 칠할 자리만 다시 그리는 방식(FLUX.2 klein 4B)을 골랐습니다. 같은 날 시도사진 5장 묶음, 피드백 계산, 저장·공유, 사용 기록 수집을 이었습니다. 화면은 ⑤ 가 만들고 ⑥ 은 서버 연결을 맡는 것으로 나눴습니다.
10/8: GPU 서버가 하루 3번 죽던 것을 고쳤습니다(모델 둘이 12GB 에 안 들어가던 것). 그림 만들기 연결을 켜고, 고정 주소(nudy.shelldocs.cloud)로 배포했습니다.
10/9: 눈 감은 장과 쉐딩·하이라이트를 뺐습니다. 라이너는 "꼬리가 뚜렷할 때만" 판정하게 했고, 그림을 무손실로 돌려받게 했습니다. 테스트 기간 사진 보관을 정하고 켰습니다. 화면 문구를 "정답사진"에서 "예상 메이크업"으로 바꿨습니다.
7단계 — 정리와 테스트 운영 (10/11~10/12)
10/11: 옛 문서 38개를 보관 폴더로 옮기고, 옛 흐름 코드에 "지금 안 씀" 표시를 했습니다(지우지는 않음). 실시간 가이드를 지금 흐름의 곁 화면으로 편입해 예상 메이크업의 테두리를 그리게 했습니다. 계획서와 요구사항 정의서를 만들었습니다.
10/12 (오늘):
테스트 종료를 10/19 오후 3시, 사진·사용 기록 삭제를 같은 날 오후 5시로 확정
삭제 요청은 후기 설문으로 받기로 함
유입 경로(utm) 기록 추가
실시간 가이드를 보기 전용으로(문구·조건·부위 색)
옮긴 그림 기다림 60초, 시도사진 가운데 장 전송
화면 글자 크기·여백 통일, 아이콘 파일화
템플릿 10종을 "참고 사진 대신 고르는 길"로 다시 넣기로 결정(#420)