[내배캠 PM]TIL#81 : (최종 프로젝트 9) 1차 제출

예디·2026년 7월 3일

내일배움캠프 PM

목록 보기
82/108

목표

✅ PRD, 기능명세서 제출 1 순위
✅ 추천 알고리즘 식 셋팅 3 순위
✅ 취미 데이터 DB 셋팅 4 순위
✅ 로그 설계서 제출 5 순위
✅ 와이어 프레임 제출 2 순위

🌟 목표 달성률 :

최종 프로젝트

산출물 제출일

오늘은 핵심 기획 문서를 한 번에 제출하는 날이었다. 팀을 셋으로 나눴다.

  • 로그 설계서 팀
  • 알고리즘 팀
  • 기능명세서 팀

전날 내가 와이어프레임을 다듬어뒀던 터라, 이걸 기반으로 클로드로 기능명세서 수정함 돌리고 다듬었다. 그런데 단순 화면 명세 외에도 서술해야 할 게 워낙 많아서, 막판에는 팀 전원이 다 같이 붙어서 수정했다. 최종 제출은 밤 11시 50분쯤...

튜터링 세션 — 기획 & 디자인

오늘 기획 튜터님과 디자인 튜터님을 둘 다 만났다.

1. 기획 세션

💬 윤정 튜터님

  • 로그인 허들: 우리는 데이터 축적 때문에 로그인을 필수로 설계했는데, 튜터님이 "랜덤 ID(쿠키·세션 기반)로도 사용자 식별·데이터 수집이 가능하다"고 짚어줌. 5060에게 로그인 자체가 진입 장벽일 수 있다는 것. 일단 "강좌 연결 같은 다음 액션엔 결국 로그인이 필요할 것 같다"로 정리함.

  • 정성 평가도 KPI로 쓸 수 있다: 주관식·다중선택 만족도를 KPI로 쓸 수 있을지 걱정했는데, "팀이 긍정/부정 분류 기준을 먼저 만들고, 데이터가 쌓이면 적용하면 된다"는 실용적 조언. 다 정해놓고 시작하려는 완벽주의보다 "일단 받아보고 기준 잡기".

  • 알고리즘 결괏값은 기획팀이 정의해서 넘긴다: 어떤 선택 조합에서 어떤 취미가 나와야 하는지, 결괏값과 점수 체계를 기획팀이 먼저 시트로 만들어야 개발팀이 구현할 수 있다는 것.

2. 디자인 세션

💬 현주 튜터님

  • 카드 상태값 문제: 제출 후에도 "해봤어요/해볼래요" 버튼이 그대로 남아 사용자가 자기가 이미 했는지 헷갈린다는 지적. (별점 뱃지 노출 / 버튼 통합 / 카드 삭제 등 해법 논의)

  • KPI 우선순위대로 화면 강조점 조정: 4개 KPI(취미테스트 완료율·로그인 전환율·추천 품질 만족도·CTA 클릭률)의 중요도가 다르니 화면 강조도 그에 맞춰라.

  • 시니어 타겟은 폰트 한 단계 위로: 노안·인지 저하 고려해 최소 16~17px, 12px 이하는 피하기.

  • 이미지 소재는 소량 파일럿: 취미 이미지 100개+를 AI로 만들어야 하는데, 일러스트냐 실사냐를 1~2개만 먼저 만들어 팀이 같이 보고 판단.

  • 버튼 위계 차별화: "안면보기"와 "제출하기"가 같은 스타일이라 중요도가 같아 보임 → 언더라인 등으로 차별화. 플로팅 버튼은 메인 CTA와 겹치지 않게 회색톤 + 스크롤 30~40% 시점 노출.

디자인 이슈가 크게 없다고 생각했었는데 짚어주시니까 문제가 선명하게 보였다. 사용자가 특정 부분에 집중하게 하고 불편함 없이 쉽게 의도된 흐름을 따라 사용하게 하는 것에 디자인이 정말 큰 부분이라는 것을 다시금 깨달았다.

이슈 — Claude Design 프로토타입에 튜터님들이 접근 불가

중간에 문제가 하나 터졌다. Claude Design으로 만든 프로토타입 공유 링크에 팀원만 접근 가능하고 기술·디자인·담당 튜터님 모두 접근이 안 됐다. 이메일 초대 기능도 아직 구현 전이라 우회도 안 됐고. (그룹이 Teamsparta_PM으로 묶여 있는데 튜터님이 그 그룹에 없어서로 추정.)

매니저님께 문제 상황·추정 원인·원하는 해결 방향을 정리해서 전달했다. 그리고 그동안 튜터님들이 화면을 못 보시니, 기능명세서에 캡처를 세세하게 따서 최대한 설명하려고 노력했다. 결과적으로 명세서 퀄이 올라간 건 이 이슈 덕(?)이기도.

(피그마 토큰만 아껴썼어도...!)

추천 알고리즘 정리

한 줄 요약: 취미와 사용자를 똑같은 4개 숫자로 표현하고, 그 숫자 패턴이 가장 비슷한 취미를 골라준다.

① 4축 벡터 — 모든 취미를 아래 4가지로 1~5점 채점.

의미
활동성정적(1) ↔ 활동적(5)
관람·참여관람(1) ↔ 참여(5)
실내·외실내(1) ↔ 실외(5)
혼자·함께혼자(1) ↔ 함께(5)

예) 노인 건강 타이치(태극권) → [2, 1, 2, 4]

② 사용자 프로필 만들기 — 4단계 테스트, 매 단계 취미 2개 중 하나 선택. 각 단계는 한 축만 5점↔1점으로 극단 대조되게 짝짓고(나머지 세 축은 차이 최소화), 고른 4개 취미의 점수를 축별 평균 낸 게 사용자 프로필.

[줌바댄스] {5, 1, 1, 4}
[커피드립] {1, 1, 1, 2}
[조깅]    {4, 1, 5, 2}
[독서토론] {1, 1, 1, 5}
━━━━━━━━━━━━━━━━━━━━━
[사용자]  {2.75, 1.00, 2.00, 3.25}

③ 코사인 유사도 — 사용자 벡터와 각 취미 벡터가 얼마나 "같은 방향"인지 잰다. 점수 크기가 아니라 성향 패턴이 비슷한 걸 찾고 싶어서 코사인을 택함.

  • 내적 = 같은 자리끼리 곱해서 다 더함
    • 예) 사용자 [2.75,1,2,3.25] · 타이치 [2,1,2,4] = 5.5 + 1.0 + 4.0 + 13.0 = 23.5
  • 각 벡터 크기로 나눠 크기 편향 제거 → 0~1 값
    • 프로필 크기 ≈ 4.8089, 타이치 크기 = 5.0
    • 코사인 유사도 = 23.5 / (4.8089 × 5.0) ≈ 0.9774 → 97.7% 방향 일치, 상위 추천

④ 추천 로직

  • 비로그인: 유사도 Top 1만 미리보기 (동점이면 랜덤 1개)
  • 로그인: 건강 필터를 유사도 계산 전에 적용 → 남은 취미로 유사도 계산 → Top 8 (동점 초과분은 랜덤)
  • 재테스트: 이전에 고른 취미까지 누적 평균으로 프로필 갱신 → 표본 늘수록 안정

건강 필터를 왜 먼저? 건강 제약은 '취향'이 아니라 '물리적 불가능'이라서. 손목이 불편한 사람에게 유사도 0.99짜리를 추천해도 실행이 안 되니, 미리 걸러야 Top 8이 전부 "할 수 있는" 리스트가 된다.

우선 순위 고려 - 작업 쳐내기

제출을 위해 우선 순위를 고려 여러 작업을 쳐냈다.

  1. 취미 이미지 -> 이모티콘 대체 : 이미지를 150장 이상 뽑아낼 시간이 안되어서 이모지와 모두 같은 배경색으로 대체
  2. 4축 기반 콘텐츠 알고리즘 적용 시 테스트를 완료한 것만 반영(중도 이탈은 반영하지 않음), 두 카드를 교체하는 버튼도 제외 시킴
  3. 대표 후기 제외 : MVP에서 어드민은 우선 순위가 낮음. 리뷰를 바로 대표 리뷰로 반영하기에 리스크가 크다고 판단. 리뷰가 모아질 때까지 대표 리뷰란은 공란("리뷰 기다리는 중")으로 처리

오늘의 회고

  • 잘한 점 : 마감 안에 5종 다 제출
  • 아쉬운 점 : 로그 설계서를 한 번 써보고 싶었는데 역할 분담상 못 해본 것
  • 원인 : 기능명세서 쓰기 바빴음
  • 개선 액션 아이템 : 다음 산출물 사이클엔 로그 설계서도 참여해보기

💭 오늘의 한 줄 평 : 다 같이 하니 즐거운 야근~

0개의 댓글