Skip to content
All Works
현재 단계 · 스토어 심사Side ProjectAI 에이전트 개발

ScentMate: 향수 공방 소개팅 예약 앱을 스토어 심사까지

향수 공방 비라이트와 협업한 크리스찬 오프라인 소개팅 신사업에서 앱 개발을 맡아, 설계 문서부터 Flutter·Supabase 구현, 보안 감사 6차, iOS·Android 스토어 제출까지 1인으로 끌고 간 사이드 프로젝트. 테스트 605개 전부 통과, 현재 스토어 심사 단계.

ScentMate: 향수 공방 소개팅 예약 앱을 스토어 심사까지

Overview

향수 공방 비라이트와 협업해 시작한 신사업입니다. 신앙 가치관이 맞는 이성을 향수 만들기 세션에서 만나는 오프라인 소개팅 모델을 비라이트가 운영하고, 저는 이 모델을 신청·심사·매칭까지 처리하는 iOS·Android 앱으로 옮기는 개발을 맡았습니다.

Problem

오프라인 파일럿에서는 신청·심사·매칭을 종이와 수기로 처리했습니다. 데이팅 앱은 신앙을 검증할 수 없고, 1:1 소개팅은 어색한 침묵과 거절 부담이 큽니다. 게다가 앱은 종교 같은 민감정보와 연락처를 다루기 때문에, 기능보다 안전성과 합법성을 먼저 증명해야 했습니다.

Approach

Design Thinking으로 쓴 BLUEPRINT와 PRD, DB 스키마를 코드보다 먼저 확정한 뒤 Claude Code로 구현해 마일스톤 11개(M0~M10)를 6일 만에 끝냈습니다. 운영자 프로필 심사, 4:4 로테이션, 서로 선택했을 때만 연락처 공개를 핵심 규칙으로 두고, 참가자와 운영자가 같은 앱을 역할로 나눠 쓰게 설계했습니다. 개발 중에는 “성사자에게만 알림이 가면 알림이 왔다는 것 자체가 성사 힌트”라는 정보 누출 결함을 찾아, 마감 시각에 전원을 한꺼번에 판정하는 구조로 바꿨습니다. 결혼중개업 해당 여부를 검토한 뒤에는 “결혼 주선이 아닌 교제 기회 제공”으로 포지셔닝을 다시 정하고, 개별 추천·성혼 관리 같은 기능을 만들지 않는 금지선 7개를 PRD에 고정했습니다.

Results

Flutter(iOS·Android) + Supabase(RLS·Edge Functions·pg_cron) + FCM, 코드 약 17,800줄·화면 33개. 테스트 605개 전부 통과, 보안 감사 6차(OWASP MASVS v2), 심사 전 결함 24건 → 0건, 실기기 QA 32/32. Google Play 비공개 테스트(테스터 13명)를 진행 중이고, App Store는 정보 요청 반려에 대응한 빌드를 준비했습니다. 정식 공개 전이라 사용자·매출 지표는 아직 없습니다.

Lessons Learned

기능을 다 만든 뒤 3주를 “만든 것이 안전하고 합법인가”를 확인하는 데 썼습니다. 규제 리스크는 법률 문서가 아니라 제품의 금지선으로 번역될 때 지켜집니다. 그리고 빠른 구현은 문서가 먼저 있을 때만 가능했습니다.