첫 지시: "커플 둘이 비슷한 공간(오차 10m)에 같이 있을 때 한 명이 사진을 찍으면, 그 사진을 날짜·위치와 함께 자동으로 모아주기 — 할 수 있나?"
커플이 함께한 순간을 일일이 손으로 기록하는 건 번거롭습니다. 두 사람이 같은 장소·시간에 있었던 것을 앱이 자동으로 알아채 추억으로 묶어 주면 어떨까, 라는 일상의 아이디어에서 시작했습니다.
Case 03 / 09
AI를 지휘해 같은 앱을 iOS·Android 네이티브로 각각 완성 — 커플 추억 자동 매칭 앱
2026.05 – 2026.06 / 1인 (AI를 팀으로) / iOS · Android
결과
⚡ 아이디어→출시
약 7~8주
2026-03-21
첫 지시
45일 뒤
2026-05-05
첫 동작
45일 뒤
2026-06-19
첫 출시 · 최신
개발 착수(04-27)→TestFlight 약 7~8주(실작업 약 23일). 아이디어~착수 사이 약 5주 공백(다른 프로젝트 병행)
01
첫 지시: "커플 둘이 비슷한 공간(오차 10m)에 같이 있을 때 한 명이 사진을 찍으면, 그 사진을 날짜·위치와 함께 자동으로 모아주기 — 할 수 있나?"
커플이 함께한 순간을 일일이 손으로 기록하는 건 번거롭습니다. 두 사람이 같은 장소·시간에 있었던 것을 앱이 자동으로 알아채 추억으로 묶어 주면 어떨까, 라는 일상의 아이디어에서 시작했습니다.
02





03
Fig. momento-03
AI 지휘 과정
01 처음 시킨 것
iOS와 Android 각각에 대해, 같은 기능을 플랫폼 관례대로 구현하도록 지시했습니다.
02 확인한 것
빌드와 화면을 돌려 보며 서버 날짜가 깨지는 지점, Android 빌드가 막히는 지점을 찾았습니다.
03 수정 지시
"서버에서 오는 여러 날짜 형식을 유연하게 받는 디코더를 만들어 줘", "Android 의존성 주입 도구가 안 맞으니 수동 싱글톤으로 바꿔 줘"처럼 원인을 짚어 지시했습니다.
실제 지시 (발췌)
04
Fig. momento-07
위치 매칭을 기기에서 서버로 옮긴 설계
Case 01
증상
서버에서 받은 날짜가 iOS에서 디코딩 실패로 화면이 깨짐.
내 설명
서버 날짜 형식이 일정치 않아 파싱이 실패한다"고 사실로 전달.
AI 첫 시도
단일 형식만 가정한 수정은 다른 형식에서 또 실패.
내가 잡은 포인트
여러 형식을 모두 받아들이는 유연한 디코더가 필요하다는 점.
해결
커스텀 디코더(여러 형식 허용)를 만들도록 지시해 해결.
재발 방지
외부에서 들어오는 값은 '형식이 흔들린다'고 가정하고 방어적으로 받음.
Case 02
증상
Android 빌드가 의존성 주입 도구(Hilt)와 최신 빌드 환경 충돌로 실패.
내 설명
빌드 로그와 함께 증상 전달.
AI 첫 시도
버전만 바꿔선 해결 안 됨.
내가 잡은 포인트
Hilt 대신 수동 싱글톤으로 우회하는 편이 맞다는 판단.
해결
수동 싱글톤 구조로 바꾸도록 지시해 빌드 안정화.
재발 방지
도구 비호환은 억지로 끌고 가지 않고 대안을 먼저 검토.
05

06
같은 기능을 두 플랫폼에서 각자의 방식으로 지시하며, "복사-붙여넣기"가 아니라 플랫폼마다 자연스러운 설계가 따로 있고, 그걸 AI에 지시로 분리해 줘야 한다는 걸 체감했습니다. 다음에는 백엔드와 공통 규칙을 먼저 굳히고 양쪽을 붙이겠습니다.
(01) Review
개발자가 만들었다면?
기능 범위 — iOS 기능 모듈 24개, TestFlight
페어링·위치 매칭·타임라인·지도·다이어리·기념일·인앱결제·광고·위젯·복구, TestFlight 빌드 12.
속도·비용 — 약 7주에 네이티브 앱 2개 약 2.9만 줄
iOS(SwiftUI)·Android(Compose)를 각각 만들고 백엔드 하나, DB 마이그레이션 14개.
현지화 — 4개 언어, 두 플랫폼 키 약 220개 동일
영·한·일·태 4개 언어를 iOS·Android에서 똑같이 유지.
구조 — 기능별 폴더, 플랫폼 정석 패턴
기능별 폴더, @Observable + 뷰모델 13개, 화면 대부분 300~500줄, 백엔드 공통 모듈 분리.
코드 위생 — 깔끔
강제 언래핑·위험한 캐스팅 사실상 0, 1,000줄 넘는 파일 0.
성능 — 배터리를 배려한 위치 추적
iOS 100m 이동 필터, Android 15분 백그라운드 작업, DB 공간 인덱스.
보안 기본기 — 모든 테이블에 접근 규칙
테이블 22개 전부 행 단위 접근 규칙(정책 47개), 키는 서버에만.
테스트·자동화 — 매칭 엔진만 테스트 있음
매칭 백엔드 테스트 8개뿐, 앱 테스트·CI 없음.
개선 계획 → 페어링·매칭·구매 흐름 테스트 추가, 두 앱 모두 CI.
배포·운영 — 운영 DB와 저장소가 어긋남
백엔드 저장소는 5월 초 이후 멈췄는데 운영 DB는 계속 바뀜.
개선 계획 → 운영 스키마를 마이그레이션 파일로 덤프해 커밋, 대시보드 직접 수정 금지.
보안 — 스토어 출시 전 강화
스토어 출시 전에 구매 처리에 서버 측 확인을 추가하고, 오류를 묻어두지 않고 드러내도록 정리.
개선 계획 → 구매 검증을 서버 중심으로, 오류 보고 체계화.
Android 완성도 — iOS보다 뒤처짐
iOS를 먼저 완성했고 Android는 개발 중.
개선 계획 → iOS 기능 목록 기준으로(코드 복사 없이) Android 완성도 끌어올리기.
접근성 — 주요 화면에만 라벨
화면낭독 라벨 iOS 23곳, Android 약 10곳.
개선 계획 → 라벨·글자 크기 대응을 출시 체크리스트 필수 항목으로.
다음 프로젝트 →
AttenNFC
기획자의 설계를 AI 구현으로 — NFC·GPS 출퇴근과 급여 자동정산을 묶은 태국 소규모 사업장용 앱