찐친이 평가해주는듯한 베스트픽 사진 고르기
찐친이 평가해주는듯한 베스트픽 사진 고르기

기획 배경
내 친구 중에 정말 인스타 피드를 잘 꾸미는 친구가 여럿 있다. 보다 보면 “얘는 인플루언서 했으면 좋겠다” 싶을 정도다.
친구들이랑 언니도 이쁜 사진을 많이 찍은 날이면, 본인이 픽한 10~20장 정도를 나한테 보내서 “거를 거 골라줘”, “베스트는 뭐야?” 하고 종종 물어본다. 근데 나는 사진 찍는 건 좋아하지만, 감성이랑 미감이 부족한 사람이라 다른 사람 사진을 잘 골라주지 못한다. 그래서 친구들이 사진 골라달라고 하면, 내가 골라준 게 이쁜 게 맞나… 도움이 안 될 텐데… 싶은 마음이 늘 있었다.
사실 이건 내 문제이기도 하다. 나도 사진 찍는 걸 좋아하는 만큼, 작년 여행 사진부터 정리가 밀려있다. 기록을 위해 인스타에 올리긴 하는데, 작년부터 못 따라잡고 있다. 특히 1번 사진. 피드에 첫 번째로 보이는 그 한 장. “1번 뭘로 할까?”가 매번 큰 고민이었다.
생각해보면 요즘은 개인 개성의 시대다. 사람마다 감성이 다양하다. 힙한 스타일, 깔끔한 스타일, 레트로 스타일, 핫한 스타일… 누군가에게 좋은 사진이 다른 사람한테는 아닐 수도 있다. 그래서 개인의 취향을 분석해서, 그 사람에게 맞는 사진을 골라주면 어떨까 싶었다.
주요 플로우
찐친이 옆에서 골라주는 느낌을 만들려면, 일단 그 사람의 감성을 알아야 한다. 그래서 흐름을 이렇게 잡았다.
1. 취향 학습 — 본인의 인스타 피드를 캡쳐한 사진을 올리거나, 이전에 베스트픽으로 골랐던 사진을 업로드한다. 이걸로 그 사람이 베스트픽을 고르는 기준이랑 피드 감성을 분석한다.
2. 평가할 사진 업로드 — 오늘 찍은 사진들, 이번 여행 사진들. 골라달라고 들고온 그 한 묶음.
3. 베스트픽 개수 선택 — 몇 장 골라줄까? 1장, 3장, 5장…
4. 결과 + 이유 — 추천 사진이랑, 왜 이걸 골랐는지 이유까지. “이게 너랑 어울리는 이유는~” 하고 찐친이 옆에서 말해주는 느낌으로.

결과 화면에서는 그 사람의 감성을 먼저 한 줄로 정리해주고(“너의 결은 자연광 속 여행 감성이 강해…”), 그 기준으로 뽑은 사진들을 이유와 함께 보여준다. 특히 1번 컷에는 🏆 표시로 “피드 1번 각”이라고 따로 박았다. 1번 사진 부담을 좀 덜어주고 싶었음.
AI 파이프라인 + 기술 스택
화면 뒤에서 어떻게 굴러가는지, 그리고 뭘로 만들었는지 한 장에 정리.

핵심은 감성 프로필을 system prompt로 박아넣고, 이후 모든 평가가 그 사람 기준으로 굴러가게 한 것. 1번 컷은 한 번 더 별도 Vision call로 정해서, 피드 첫 인상 부담을 줄였다.
Claude Code랑 페어 프로그래밍하면서 만들었다. 혼자 만들었으면 한참 걸렸을 텐데, 진짜 “급하게” 배포할 수 있었던 이유.
프롬프트 일부 공유
Step 2의 quality 체크 부분 — 이게 핵심. “예쁜지” 보기 전에 일단 결함부터 거른다. 결함이 명확하면 아예 cover_candidate / pick으로 분류하지 못하게 막아둠.
사진을 평가할 때 다음 quality 결함을 먼저 체크해라. 결함이 명확하면
cover_candidate/pick 으로 분류하지 않는다 (filler 또는 reject 로 강등).
체크 항목:
1. 표정 흔들림 / 눈 감음 / 입 어색하게 벌어짐 (인물 사진)
2. 모션 블러 (피사체 또는 카메라 흔들림)
3. 초점 나감 (의도적 보케 제외 — 주요 피사체가 흐릿한 경우)
4. 과노출(하이라이트 클리핑) 또는 극단적 저노출
5. 손가락이 렌즈에 들어옴, 의도치 않은 그림자 / 반사
6. 합성·뽀샵 티가 너무 남 (피부·얼굴이 비정상적으로 매끄럽거나 형태 왜곡, 눈·코 비율 부자연)
7. 잘못된 자세 / 어색한 손동작 / 코·눈 눌림
8. 얼굴 좌우 비대칭이 유독 심해 보임 (눈/입/광대 한쪽 처짐, 얼굴 한쪽이 일그러진 듯)
9. 이가 너무 드러나거나 어색한 웃음 (잇몸 다 보임, 부자연스럽게 활짝)
10. 머리카락 거슬림 (눈·입에 잔머리 들어감, 부스스, 한쪽으로 쏠려 얼굴 가림)
11. 역광 — 빛이 인물 뒤에 있어서 얼굴이 어둡게 나오거나 실루엣처럼만 보임
각 평가값은 JSON으로 받아서, 뒤단에서 파싱해 cover_candidate / pick / filler / reject 로 라우팅한다.
검증 결과
배포해놓고 직접 돌려보면서 느낀 것들.
- 흔들림, 눈감음, 내 피드 감성 어느 정도 잘 잡아내는 것 같다. 일단 1차 필터링은 충분히 돌아가는 듯
- 그래도 많이 돌려보고 평가를 받아서 학습을 시켜야 할 것 같다. 한 사람 감성만 보고 끝낼 게 아니라, 여러 친구 케이스로 돌려봐야 진짜 쓸 만한지 보일 듯
- 그래서 결과 페이지에 사진별 평가가 마음에 드는지 good/bad 버튼을 추가해둠. 이게 쌓이면 다음 추천을 더 그 사람에 맞게 깎아갈 수 있을 것 같다