Show GN: Backend 시니어의 첫 모바일 앱, 5개월간 바이브 코딩으로 만든 사진 갤러리 (iOS 출시 / Android 베타)
(zizi.tnstory.co.kr)안녕하세요. Backend 시니어 개발자입니다.
앱/프론트 경험이 전무한데, 처음으로 바이브 코딩만으로 모바일 앱을 만들어봤습니다.
5개월 걸렸고 iOS는 출시, Android는 개인 개발자 정책 제약으로 비공개 베타 단계입니다.
왜 만들었나
어느 날 딸이 "사진 저장 공간이 부족한데 지우기가 너무 불편하다"고 하더라고요. 그래서 '빠르게 삭제·분류·검색하는 갤러리 앱'을 가볍게 시작했는데, 만들다 보니 기능이 계속 늘었습니다.
주요 기능
- 빠른 정리(Quick Cull) — 스와이프로 비교하고 한 번에 일괄 삭제
- OCR 텍스트 검색 — Apple Vision / Google ML Kit 활용, 사진 속 글자로 검색
- 지명 검색 — GeoHash + Reverse Geocoding으로 180개국 지원 (OSM 공개데이터, 한국은 행정동 DB 별도 구축)
- 기기 간 동기화/백업 — Google Drive + CDC 패턴 (스마트폰 ↔ 태블릿)
- 태그/위치/캘린더 검색 — 수만 장도 몇 초 만에 찾기
기술 스택
- React Native + Expo (newArch)
- 일부 Native — Swift, Kotlin (OCR/사진 빠른 렌더링 등 플랫폼 의존 영역)
- Supabase + Google OAuth
- Reanimated 4, FlashList v2
- SQLite + FTS5 (로컬 검색)
만들면서 느낀 점
AI가 다 해줄 것 같지만, 실제로는 직접 코딩 수준의 노가다(Prompt)가 상당히 들어갑니다. 특히 플랫폼별 동작 차이·성능 튜닝은 결국 사람이 일일이 봐야 했습니다 (그 과정도 AI 도움을 받긴 했지만).
지명 검색은 180개국 데이터를 구축(국가별 reverse geocoding DB는 필요한 국가만 CDN-download)했지만 한국 외 지역은 실측 검증을 못 했습니다. 다른 나라 분이 써보시면 좋겠는데 데이터 검증 피드백을 받기가 어렵네요.
잘했다고 생각한 것
4단계 점진적 이미지 렌더링: ThumbHash → System default Thumbnail → ViewPort Size → Origin Size
최대한 최적화한다고 했지만 기본 사진앱에 비하면 갈 길이 머네요.
현재 상태
- 랜딩 페이지 (소개 + Privacy): https://zizi.tnstory.co.kr
- iOS App Store: https://apps.apple.com/app/6760991211
- Android 베타 신청: https://groups.google.com/g/zizi-beta-tester
(그룹 가입 → Play Store에서 옵트인 가능) - iOS: iCloud 지원
- Android: 아쉽게도 Cloud 백업된 사진(Google Photos 등)은 정책상 직접 접근이 불가능하여, 수동으로 다운로드해야만 접근할 수 있습니다
부탁 드립니다
- 한국 외 지역 사진이 있으신 iOS 사용자 분의 지명 검색 검증 피드백 환영합니다
- 사진 정리 워크플로 관련 아이디어나 비판 자유롭게 부탁 드립니다
감사합니다.