서론
다른 나라 사람들도 그런지 모르겠지만 우리나라 사람들은 '성분'에 참 민감하다.
특히 화장품을 고를 때 성분표를 본다. 근데 뭐가 좋은 건지 모르겠다.
내 피부에 세라마이드가 필요한 건지 나이아신아마이드가 필요한 건지..
정보양은 워낙에 넘쳐나는 시대라서 찾고자 한다면 얼마든지 찾을 수 있지만,
오히려 그렇기 때문에 피로도가 높기도 하다.
문제
- 성분 추천 앱은 많은데, 대부분 "피부 타입 선택 → 일반적인 성분 추천" 수준이다
- 내 피부를 실제로 보고 분석해주는 서비스는 피부과에서 수십만 원 주고 하는 거다
- 화장품 성분 지식이 없으면 추천을 받아도 왜 그 성분인지 납득이 안 된다
- "건성이니까 히알루론산 쓰세요" 수준의 조언은 구글 검색이면 충분하다
해결(미니앱 사용해보기)
토스 마이스킨핏
앱 설치 없이 쓰는 토스 미니앱
og.toss.im
브라우저에서 피부를 직접 분석한다
사진을 서버로 보내기 전에, 브라우저에서 두 가지 ML 모델을 먼저 돌린다.
ResNet50으로 수분/탄력/모공/색소 수치를 측정하고, MobileNetV3로 피부 질환 여부를 분류한다.
TensorFlow.js로 돌리니까 서버 비용이 들지 않는다.
학습 데이터는 AI Hub의 한국인 피부 측정 데이터와 안면부 피부질환 이미지를 썼다.
한국인 피부에 맞춘 모델이라는 뜻이다.



AI가 사진을 보고 종합 분석한다
브라우저 모델이 뽑아낸 수치와 셀카를 LLaVA 서버로 보낸다.
LLaVA-1.5-7B는 이미지를 이해하는 모델이다.
이 모델은 내가 따로 파인튜닝을 하거나 하지 않았고,
AI Hub에서 다운받은 모델을 그대로 사용했다.
GPU는 Modal의 serverless GPU를 활용했다.
Runpot이 더 유명하지만
Modal이 Cold start가 Runpot보다 짧고, 매달 $30의 무료 크레딧을 주는 점이 큰 장점이다.
그리고 크레딧을 미리 충전하고 차감하는 방식이 아닌
일단 쓰고 다음 달에 청구되는 방식이다.
물론 사용 한도도 정할 수 있다.
이 모델이 피부 사진을 직접 보면서 "T존은 유분기가 있고, U존은 건조하다" 같은 맥락적 분석을 해준다.
설문에서 받은 피부 타입, 고민, 생활 환경, 수면/스트레스 같은 정보까지 함께 넘기니까 단순 이미지 분류보다 훨씬 정밀하다.



성분을 점수로 매칭한다
피부 타입 × 고민 조합마다 매칭 규칙이 있다.
거기에 브라우저 모델이 측정한 실제 수치를 가중치로 반영한다.
수분이 50 이하면 보습 성분에 가산점, 모공 점수가 낮으면 피지 조절 성분에 가산점.
민감도가 높은 사용자에게는 레티놀이나 AHA를 자동으로 필터링한다.
결과를 레이더 차트로 보여주고, 추천 성분 TOP 5와 아침/저녁 루틴까지 생성해준다.
결론
"브라우저 ML → 서버 LLM → 성분 매칭" 3단계를 조합한 게 핵심이다.
브라우저에서 무거운 수치 분석을 먼저 처리하니까 서버 비용을 줄이면서도 분석 품질은 유지된다.
토스 미니앱으로 배포해서 앱 설치 없이 바로 쓸 수 있고, 배너광고와 분석 대기 시간에 전면 광고를 넣어서 수익화를 노린다.
사용한 도구들
이 프로젝트를 직접 만들어보고 싶다면:
| 용도 | 도구 | 비고 |
|---|---|---|
| AI 모델 학습 데이터 | AI Hub | 피부상태 측정 + 피부질환 이미지, 무료 공공데이터 |
| 프론트엔드 · 백엔드 | Apps in Toss | 토스 미니앱 플랫폼. 프레임워크 + 배포 + 디자인 시스템까지 제공 |
| GPU 서버 | Modal | A10G 서버리스 GPU. LLaVA 추론용. 쓴 만큼만 비용 |
| 브라우저 ML | TensorFlow.js | ResNet50, MobileNetV3를 TFJS로 변환해서 브라우저에서 실행 |
'Product > 구현' 카테고리의 다른 글
| $50로 바이브코딩 (0) | 2026.06.02 |
|---|---|
| 가계부 앱 만들기 (0) | 2026.05.24 |
| 사주로 알아보는 성격 (0) | 2026.05.21 |
| 알림 메모장 (0) | 2026.05.04 |
| 사진 공유 (0) | 2026.04.05 |