셀카 정리 앱을 만들었다. 개발 1주, 수정 1주. 출시하고 3개월 됐다. 다운로드 10회, 매출 0원.
같은 고민을 하고 있을 누군가에게 도움이 될 수도 있을 것 같아서 과정을 정리해본다.
타겟을 다시 정하고, 이름 바꾸고, 기술적으로 손보면서 깨달았다. 처음부터 순서가 틀렸다.

심심하면 한번 써봐주세요...
아이디어: 비슷한 사진을 찾아주자
구글 포토나 삼성 갤러리에 "비슷한 사진 정리" 기능이 있다. 직접 써봤다. "완전히 똑같은 사진"만 잡는다. 연사로 찍어도 조금씩 다르니까 못 잡는다.
여기서 기회가 보였다. "똑같은 사진"이 아니라 "비슷한 사진"을 찾아주면 연사 셀카를 잡을 수 있겠다 싶었다. 10장 찍고 1장 고르는 그 과정을 AI가 대신해주는 앱.
나중에 알았는데 갤럭시 S23 울트라부터 비슷한 기능이 있었다. S24부터 NPU 탑재하면서 온디바이스 AI에 신경을 많이 쓴 것 같다. 만들기 전에 좀 더 찾아볼 걸...
기술 구현: 유사 사진 그룹핑과 베스트샷
기술적으로 두 가지를 구현해야 했다. 유사 사진 그룹핑과 베스트샷 선정.
유사 사진 그룹핑부터. "똑같은 사진"은 쉽다. 파일 전체를 읽어서 MD5 해시값을 비교하면 된다. 해시가 같으면 완전히 똑같은 파일이다. 순식간에 끝난다.
"비슷한 사진"은 다르다. 파일이 다르니까 해시도 다르다. 실제로 이미지 내용을 분석해서 비교해야 한다. 처음에는 ML Kit의 이미지 분석 기능을 전부 동원하려 했다. 얼굴 위치, 감지된 객체, 이미지 라벨, 주요 색상까지 비교해서 유사도 점수를 매기는 방식. 가중치도 설계했다. 얼굴 35%, 객체 25%, 라벨 20%, 색상 10%, 종횡비 10%.
근데 너무 느렸다. 사진 한 장당 ML Kit 분석만 수백 밀리초가 걸렸다. 100장이면 체감 1분. 실제 갤러리에는 수천, 수만 장이 있다. 내 폰에서 돌려보니 5분에서 10분까지 걸렸다. 앱 켜고 10분 기다릴 사람은 없다.
결국 단순한 규칙으로 바꿨다. 촬영 시간 차이가 3분 이내이고, 파일 크기 차이가 20% 이내면 "유사 사진"으로 판정. ML Kit 분석 없이 메타데이터만 보는 방식이다. 정확도는 떨어지지만 속도가 빨라졌다. 연사 셀카는 어차피 몇 초 간격으로 찍으니까, 이 정도면 대부분 잡힌다.
베스트샷 선정은 ML Kit Face Detection을 썼다. 네 가지 요소에 가중치를 줬다.
- 눈 뜸 정도 30%: 양쪽 눈의 열림 확률 평균
- 미소 25%: 웃는 정도
- 얼굴 각도 25%: 정면에 가까울수록 높은 점수
- 선명도 20%: 이미지가 얼마나 흐린지 수치로 측정 (Laplacian variance)
이 비율은 논문 찾아본 건 아니고, 직접 돌려보면서 맞춘 거다. 눈 감은 사진은 거의 100% 실패작이라 눈 뜸에 가장 높은 가중치를 줬다. 미소와 각도는 좋은 셀카의 핵심 요소라 비슷하게. 선명도는 중요하지만 위 요소들보다는 부차적이라 가장 낮게 잡았다. 구글 포토나 애플 포토도 비슷한 요소를 쓴다고 알려져 있지만, 정확한 알고리즘은 공개되어 있지 않다. 결국 직접 테스트하면서 조정하는 수밖에 없다.
10장 정도 직접 테스트해봤을 때 7~8장은 내가 고를 법한 사진이 베스트샷으로 나왔다. 체계적인 검증은 아니지만 방향은 맞다고 판단했다.

3개월, 다운로드 10회
기능은 돌아갔다. 근데 쓰는 사람이 없었다.
3개월 동안 다운로드 10회. 그마저도 대부분 지인이었다.
원인을 생각해봤다.
타겟을 안 정했다. "셀카 많이 찍는 사람"이 타겟이라고 생각했는데 너무 넓었다. 연사 셀카를 습관적으로 찍는 사람이 누군가. 주변을 보면 GenZ다. SNS에 올릴 셀카 한 장 건지려고 10장, 20장 찍는 게 일상인 세대. 근데 앱 이름이 "AI 사진 정리"였다. GenZ가 검색할 키워드가 아니다.
수요 검증을 안 했다. "연사 셀카 정리 귀찮을 거야"는 내 추측이었다. 실제로 귀찮아하는지, 앱 깔아서 해결하고 싶어하는지 물어본 적 없다.
광고 구조가 이상했다. 처음에는 사진 검사 한 번에 전면 광고 1회였다. 안 그래도 유입이 없는데, 들어온 사람마저 광고로 내쫓는 구조였다.
구글이 안 하는 이유
만들면서 깨달은 게 있다. 구글이나 삼성이 "비슷한 사진"을 안 잡는 이유.
못하는 게 아니라 안 하는 거였다.
"똑같은 사진"은 해시 비교라서 O(n)이다. 사진이 몇만 장이든 빠르게 끝난다. "비슷한 사진"은 이미지 분석이 필요하다. 사진끼리 비교해야 하니까 비교 횟수가 제곱으로 늘어난다. 대학생 때 배운 걸로 치면 O(n) vs O(n²) 차이다. 1만 장이면 비교 횟수가 억 단위로 늘어난다.
내 앱에서 100장에 1분 걸렸다. 1만 장이면? 단순 계산으로 100분이다. 실제로는 더 오래 걸린다. 구글 포토처럼 수십억 장을 처리하는 서비스에서는 구조적으로 불가능하다. 서버에서 돌린다 해도 서버비가 장난 아니다.
그래서 구글은 "완전히 똑같은 사진"만 잡는 거다. 결국 돈 문제였다.
나는 이걸 "하루치 사진만 검사"로 풀었다. 연사 셀카는 어차피 그날 정리한다. 전체 갤러리를 뒤질 필요가 없다. 기본값을 오늘 하루치로 바꾸고, 사용자가 원하면 기간을 늘릴 수 있게 했다. 하루치면 보통 수십 장이다. 몇 초면 끝난다.
이렇게 하면 앱 여는 빈도도 늘어난다. "가끔 전체 정리"가 아니라 "매일 오늘치 정리"가 되니까. 사진 정리 앱의 고질적인 문제인 "한 번 쓰고 끝"을 조금이나마 해결할 수 있다.
그래서 개선을 어떻게 해봤는가?
같은 기능, 다른 앱처럼 보이게
타겟을 셀카를 자주 찍는 젊은 층, GenZ로 좁혔다. 기존 기능은 모든 사진에서 비슷한 사진을 찾아주는 기능이었지만, 기능을 연사 셀카로 범위를 좁혔다.
그리고 이름을 "AI PhotoCleaner - AI 사진 정리"에서 "셀카픽 - AI 베스트샷 정리"으로 바꿨다. 셀카 + Pick. 스토어에는 로 올려서 검색 키워드도 챙겼다. 좀 더 유입이 쉬워지지 않을까...?
왼쪽이 전, 오른쪽이 후로 보면 된다.
![]() |
![]() |
색도 바꿨다. 초록색에서 코랄로. 사진 앱은 따뜻한 색이 맞다.
![]() |
![]() |
이렇게 바꾸고 나니 완전 다른 앱 처럼 느껴진다.
사용 장벽 낮춤
개발자 인거 티를 내는지 기존 앱의 완성도를 보면 거의 PoC앱, 데모 앱 수준이다. 기능만 담고있는 앱으로 보인다.
생각해보면, 기획자, 디자이너 없이 혼자 개발은 실제로 PoC 앱, 데모 앱 수준으로만 해봤다. 이제 AI 발전으로 부족한 역할을 채워줄 수 있는데 이걸 잘 활용 못한 것 같다.
우선 사용자가 무슨 앱인지 알 수 있도록 온보딩을 추가했다.
![]() |
![]() |
![]() |
![]() |
추가로 플로우를 쪼갰다. 기존에는 분석 끝나면 한 화면에 다 보여줬다. 두 단계로 나눴다. 1단계에서는 "뭘 남길지"만 결정한다. 2단계에서는 "진짜 지울지"만 결정한다.
![]() |
![]() |
![]() |
추가로 광고도 바꿨다. 검사 한번에 10초짜리 전면 광고에서 하단 배너로. 지금은 수익보다 시장 반응이 먼저라고 판단했다.
현재 상태
- 출시 후 3개월
- 다운로드 10회
- 매출 0원
- 투자 비용 약 5만원 (개발자 등록비, 사업자 등록 등)
- 광고 플랫폼 AdMob, 하단 배너
- 앱 용량 30MB
- 검사 속도: 하루치(수십 장) 기준 체감 5초 이내
아직 개선 후 데이터가 쌓이지 않았다. 3개월 더 돌려보고 판단하려 한다.
다시 한다면
타겟을 먼저 정한다. 구체적으로. 그 사람들이 어디 있는지, 뭐라고 말해야 관심 가질지까지.
수요를 먼저 검증한다. 바이브 코딩으로 이제 1주면 앱 만들 수 있는데 그 1주를 아끼려고 검증을 건너뛰면 3개월을 날린다... 지금 나 처럼.
경쟁 앱을 먼저 파악한다. "비슷한 사진 찾기"가 기존 앱에 없다고 생각했는데, 갤럭시 S23 울트라부터 이미 있었다. 만들기 전에 더 찾아봤어야 했다. 경쟁이 없다고 생각한 시장이 실은 이미 기본 기능으로 제공되고 있었다면, 그 위에서 뭘 더 줄 수 있는지를 고민했어야 한다.
유스 케이스, 엣지 케이스, 제약사항도 먼저 파악한다. 저 기능이 갤럭시에도 생각보다 숨겨져 있어서 시장 조사 단계에서 발견을 못했는데(그래봤자 주변 지인...) 개발하고 나서 느끼는 건 기술적으로 제약이 확실하다는 거다. 속도가 느려서 갤러리 전체 사진에 적용이 힘들다. 아마 그래서 갤럭시에서도 동일한 사진 찾는거보다 숨겨둔게 아닐까?
이게 개인적으로 중소기업과 대기업 차이로 느껴지는 부분인데 경험상 대기업은 저 과정을 엄청 길게 가져간다. 중소기업은 어느정도 파악되면 우선 설계부터 들어간다. 이렇게 되면 지금 나와 같이 추후 다시 수정할 일이 생긴다. 나름 짧은 대기업 경험이 여기서 도움 될 줄은 몰랐다.
배운 것
- "비슷한 사진 찾기"는 사진이 늘어날수록 기하급수적으로 느려진다. 그래서 이런 기능은 기본 갤러리에서 제공 안한다.
- 구글, 갤럭시가 안 하는 줄 알았는데 이미 하고 있었다. 경쟁 조사를 대충 하면 전제 자체가 틀어진다.
- 문제를 다르게 정의하면 풀린다. "전체 갤러리 검사"가 아니라 "오늘 하루치 검사"로 바꾸니까 속도 문제가 사라졌다.
- 수요 검증 없이 만들면 1주 아끼려다 3개월 날린다.
- 욕심 내도 안된다. 결국 유입이 없는데 광고로 내쫓으면 검증 자체가 안 된다. 그래서 보통 MVP 앱을 먼저 내고 반응을 본다고 한다. 다음엔 나도 이렇게 해야지.
후일담
- 이제 바이브 코딩으로 개발은 정말 빠르게 끝난다. 그래서 그 앞이 더 중요해졌다. 개발자들은 개발 설계 뿐만 아니라 이런 부분에서도 고민을 해야 미래에도 살아남지 않을까 생각해본다.
다음 글에서는 개선 후 3개월 데이터를 정리해볼 예정이다. 반응이 생기면 뭐가 먹혔는지 쓴다. 안 생기면 왜 안 생겼는지 써보려고한다.
'모바일' 카테고리의 다른 글
| Android NDK 입문 (2) - SIGSEGV, SIGABRT, SIGBUS 네이티브 크래시 시그널 정리 (0) | 2026.05.23 |
|---|---|
| Android NDK 입문 (1) - NDK를 왜 쓰는가, JNI와 네이티브 개발 기초 (0) | 2026.05.23 |
| Google Play 데이터 보안: AdMob 사용 시 "기기 또는 기타 ID 선언되지 않음" 경고 해결 (0) | 2026.05.23 |
| Android 개발자 인증 정리 - Play Console 등록 가이드 (0) | 2026.04.19 |
| WorkManager excessive partial wake lock 원인 — Android Vitals 배터리 경고 대응 (2026) (1) | 2026.04.10 |










