본문으로 건너뛰기

몽타주

v1
작성 2026-05-20읽는 시간 10

Flutter 와 AI 만으로 30일 만에 Play Store 까지 — 코드 1줄 없이 만든 모바일 앱 이야기

몽타주 앱 홈 화면 — 꿈해몽·타로·사주를 한 앱에 담은 AI 네이티브 모바일 앱
항목내용
서비스명몽타주 (Montage)
플랫폼Google Play (Android) · iOS 미출시
만든 사람디온웍스 (바이브 코더, 코드 1줄 못 씀)
사용 도구Claude Code + Flutter + Firebase + Gemini + AdMob
가격무료 다운로드 (광고 + 코인 + 월 4,900원 구독 선택)
상태2026-04 정식 런칭 · v1.3.2+35 · Google Ads 캠페인 인프라 가동 중

이 서비스는 뭐예요?

한 번쯤은 사주 앱·타로 영상·꿈 풀이 블로그를 검색해 보신 적 있죠. 결과는 늘 비슷해요 — 출처도 불분명한 글 수십 개가 뜨고, 정작 내 상황에 맞는 해석은 어디에도 없습니다. 몽타주(Play Store 에서 받기)는 그 검색의 피로를 끝내려고 만든 앱이에요. 꿈 · 타로 · 사주라는, 한국 사람이 가장 자주 찾는 운세 3종을 한 앱에 담았습니다.

세 가지가 각각 어떻게 동작하는지 한 단락씩 보여 드릴게요.

① 꿈 — 같은 꿈이라도 보는 사람이 다르면 해석이 달라집니다. 몽타주는 꿈을 "한국 전통 관점""현대 심리학적 관점" 2가지로 동시에 풀어 줘요. 한국 전통은 옛 해몽서가 정리한 상징 사전(이 빠지면 재물·건강, 물은 변화 등) 위에서 읽고, 현대 심리학적 관점은 프로이트(정신분석학의 창시자)와 융(분석심리학자) 의 무의식 이론을 한 줄기로 묶어 "지금 내 마음이 뭘 말하고 있는지" 를 풀어 줍니다.

② 타로 — 1900년대 유럽에서 정착된 전통 타로 덱(메이저 22장 + 마이너 56장 = 78장) 의 카드 의미를 그대로 모바일로 옮겼어요. 카드를 뽑는 절차·카드별 정·역방향 의미는 전통 타로 그대로 두고, 그 위에 AI 가 사용자의 상황 맥락(질문 · 카드 조합)을 읽어 풀이를 한국어로 다시 짜 줍니다. 책에 적힌 일반 해석이 아니라, "내 질문에 답하는 풀이" 로 한 번 더 가공되는 셈이에요.

③ 사주 — 명리학(命理學 · 사주팔자를 분석하는 동양 학문) 을 기반으로, 가장 까다로운 만세력(萬歲曆 · 생년월일시를 사주 8자로 환산하는 표) 계산을 자동화했어요. 사용자는 생년월일·태어난 시간만 입력하면 됩니다. 거기에 사주 분석을 한 겹 더 얹어, AI 가 일간(나의 기운) · 오행 · 십신 · 운세 같은 단위로 해석을 한국어로 풀어 줍니다. 직접 만세력 책을 펴 보지 않아도, 내 사주가 어떻게 짜여 있고 어떻게 읽히는지를 모바일에서 바로 확인할 수 있는 구조예요.

그리고 하나 더 — 이 앱은 제가 코드 한 줄도 직접 쓰지 않고 만들었습니다. Claude Code(클로드 코드 · AI와 한글로 대화하며 코드를 짜는 CLI 도구)와 한국어로만 대화하면서, Flutter 로 Android 앱을 올리고, Firebase 에 인증·DB·결제·광고를 붙이고, Google Play 정식 출시까지 완주했어요. 첫 커밋부터 정식 런칭까지 딱 30일. 이 글은 그 30일을 끝까지 풀어 보여 드리는 기록입니다.


누구를 위해 만들었나요?

특정 인물을 그리기보다, 사람이 운세 앱을 켜는 동기 3가지로 정리해 봤어요. 어느 하나에라도 살짝 끄덕여지신다면 몽타주를 켜 보실 만해요.

① 심리적으로 위안받고 싶으신 분

하루를 마치고 침대에 누웠을 때, 누군가 옆에서 "괜찮아, 잘하고 있어" 한마디만 해 줘도 마음이 풀리는 날이 있어요. 비싼 심리 상담을 받기에는 부담스럽고, 가까운 사람한테 매번 푸념하기도 미안한 그 사이 — 몽타주의 오늘의 타로 한 장, 한국 전통 + 심리학 관점이 같이 적힌 꿈 해석 한 페이지가 "오늘 내 마음의 환기처" 가 되어 줘요. 종교라기보다 마음의 쉼표에 가까운 자리예요.

② 현재 자신의 문제를 한 발 떨어져 돌아보고 싶으신 분

회사·연애·돈·진로 — 안에 들어가 있으면 잘 안 보이는 문제가 있죠. 직접 답을 내기 전에 "제3자의 언어로 한 번 정리해 보고 싶을 때" 가 있어요. 타로의 양자택일 모드는 "A 안 vs B 안" 두 선택지를 카드로 나란히 비교해 주고, 사주의 고민해결 카테고리는 "지금 내 사주에서 이 문제가 어떻게 읽히는지" 를 풀어 줍니다. 정답을 강요하는 게 아니라, 결정을 내리기 전에 한 번 더 거리를 두고 바라보는 도구예요.

③ 재미로 내 사주·내 운을 한번 시험해 보고 싶으신 분

진지하게 점치는 게 아니라, 그냥 한번 궁금한 마음으로 들어오시는 분들도 많아요. "내 사주가 뭔지 한번 봐 볼까?", "오늘 카드 한 장 뽑아 보면 뭐가 나올까?" 같은 가벼운 호기심이요. 가입 즉시 무료 코인이 들어와 있으니 부담 없이 한 번 돌려 보실 수 있고, 결과를 친구에게 캡처로 공유해도 재미있어요. 몽타주는 이 "재미와 진지함 사이의 적당한 거리" 를 지키려고 만든 앱입니다.

세 동기의 공통점은 한 줄로 정리됩니다 — "비싼 상담은 부담스럽지만, 답답하거나 궁금할 때 의지할 곳 한 군데는 갖고 싶은 사람" 이에요. 몽타주는 그 자리를 채우려고 만든 앱이에요.


실제 화면으로 먼저 보여 드릴게요

글로만 설명하면 안 와닿죠. 지금 Google Play 에서 '몽타주' 검색하시면 바로 받으실 수 있어요. 꿈·타로·사주 3가지 기능 화면을 차례로 짚어 드릴게요.

① 꿈 해석 — 한국 전통 + 현대 심리학 2관점

몽타주 꿈 해석 결과 — 한국 전통·현대 심리학 2관점 카드

입력은 단순해요. "어떤 꿈을 꿨는지" 를 한국어로 한 줄~한 문단 적고 보내면 됩니다. 등장한 상징(물·동물·이 빠짐·돌아가신 분 등) 을 AI 가 추출해서, 2장의 해석 카드를 차례로 펼쳐 줘요.

  • 한국 전통 관점 — 옛 해몽서에 정리된 상징 사전을 기반으로, 해당 꿈이 재물·건강·인간관계 측면에서 어떤 흐름을 암시한다고 보는지 풀어 줍니다.
  • 현대 심리학적 관점 — 프로이트·융의 무의식 이론을 한 줄기로 묶어, "지금 내 마음·욕구·전환점이 어떤 신호를 보내고 있는지" 를 해석해 줍니다.

핵심은 "하나의 정답을 강요하지 않는다" 예요. 일반 운세 앱은 "이 꿈은 흉몽입니다" 같이 단정합니다. 몽타주는 2관점을 동시에 보여 주고, 사용자가 자기 상황에 맞는 해석을 골라 가져가는 구조예요. 꿈 상징 사전 6,428건 · 13 카테고리도 같은 화면에서 검색해 볼 수 있어요.

② 타로 — 3가지 모드로 부담 없이

몽타주 오늘의 타로 카드

타로는 사용 목적에 따라 3가지 모드를 제공해요. 1900년대 정착된 전통 78장 덱을 그대로 쓰고, 풀이만 AI 가 사용자 상황에 맞춰 다시 짜 줍니다.

  • 원카드 — 그날 한 장만 뽑는 가장 가벼운 모드예요. 오늘의 운·기분·집중할 한 가지를 짧게 받고 싶을 때 좋아요. 침대에서 폰 한 번 켜서, 카드 한 장 뽑고, 짧은 해석을 읽고 잠드는 루틴.
  • 쓰리카드 — 카드 3장으로 흐름을 봅니다. "과거 · 현재 · 미래" 또는 "상황 · 조언 · 결과" 같은 3 포지션으로 배치돼서, 한 가지 주제의 큰 줄기를 잡고 싶을 때 좋아요.
  • 양자택일 — A 안 vs B 안 두 선택지를 나란히 카드로 깔아 비교해 줘요. "이직할까 말까", "이 사람과 계속 갈까 정리할까" 처럼 결정을 앞두고 한 발 떨어져 보고 싶을 때 쓰는 모드예요.

오늘의 타로(원카드) 는 매일 무료로 한 장 뽑을 수 있고, 더 깊은 결정이 필요하신 분들을 위해 양자택일 같은 심층 모드는 별도로 열어 두었어요.

③ 사주 — 만세력 자동 계산 + AI 풀이

몽타주 사주 결과 화면

사용자는 생년월일과 태어난 시간만 입력하면 됩니다. 까다로운 부분은 안에서 다 처리해요.

  1. 입력값으로 만세력(萬歲曆 · 생년월일시 → 사주 8자 환산표) 계산을 자동으로 돌려 사주 8자를 뽑고
  2. 그 위에 일간(나의 기운) · 오행(목·화·토·금·수의 균형) · 십신(관계 구도) · 운세(연·월 흐름) 같은 분석 단위로 풀이를 한국어로 짜 줍니다
  3. 추가로 사주 고민해결(연애·일·돈·건강 등 6 카테고리) 에서 구체적인 질문을 던지면, 정형화된 답이 아니라 실제 상담 같은 풀이가 나와요

명리학 책을 펴서 직접 만세력을 찾고 해석하던 작업이, 모바일 한 화면에서 끝납니다.

수익화는 어떻게 굴러가요?

이렇게 꿈·타로·사주 3가지를 한 앱에 담으면서, 수익화 구조도 처음부터 같이 설계했어요. 사용자가 본인 페이스로 선택할 수 있게 코인 · 광고 · 구독 3중 모델로 짰습니다.

  • 가입 즉시 500코인 무료 지급 — 카드 등록 없이 바로 핵심 기능을 한 차례 돌려 볼 수 있어요
  • 일반 운세는 광고 리워드로 무료 해금 — 짧은 리워드 광고 한 편을 보면 그날의 운세를 열 수 있는 구조
  • 양자택일·사주 고민해결 같은 심층 기능은 200코인 차감 — 자주 쓰는 핵심 기능 위에만 코인을 얹어, 가볍게 쓰는 사용자는 광고로 충분히 굴러가요
  • 광고가 부담스러우면 월 4,900원 구독 — 광고 제거 + 매월 500코인 자동 충전. 한 가지 단순한 플랜이에요

결제는 Google Play Billing(구글 공식 인앱 결제) + 서버 영수증 검증으로, 안전한 표준 경로만 사용합니다.


어떤 로직으로 움직이나요?

비개발자용 비유

몽타주를 "24시간 운영되는 작은 점집" 으로 생각하시면 쉬워요.

  1. 손님(사용자)이 문을 열고 들어와요 — Flutter 로 만든 앱 화면
  2. 안내 데스크(Firebase Auth)가 회원증을 확인해요 — 구글·카카오 로그인
  3. 상담실(Cloud Functions)이 손님 사연을 받아 두뇌(Gemini)에게 전달해요
  4. 두뇌가 해석을 만들면 다시 안내 데스크가 손님께 전달하고, 사용 이력을 장부(Firestore)에 적어요
  5. 운영비(코인·구독)는 카운터(Google Play Billing) 에서 받고 서버가 영수증을 검증해요

가게 안의 모든 동선이 서버를 거치도록 설계돼 있어요. 그래야 안전하고, 그래야 광고·구독 수익까지 정확히 추적됩니다.

기술 스택 (한눈에)

복잡한 의존성 목록은 §5 제작 여정에서 자연스럽게 등장하니, 여기서는 비개발자 독자가 한 번에 그림을 그릴 수 있는 6 영역으로 요약해 드릴게요.

영역기술한 줄 풀이
앱 프레임워크Flutter (Dart)Android · iOS 동시 개발 가능한 구글의 모바일 SDK
AI 두뇌Google Gemini꿈·타로·사주 해석 텍스트 생성
서버·DB·인증·결제Firebase인증 / Firestore DB / Cloud Functions / 인앱결제 영수증 검증 한 묶음
광고·통계AdMob + Firebase Analytics광고 노출 수익 + 사용자 행동 이벤트 추적
보안R8 난독화 + 데이터 암호화안드로이드 표준 보안 + 핵심 데이터 파일 암호화
배포Google Play (AAB)안드로이드 정식 출시 포맷

진짜 중요한 건 프롬프트 자산

코드는 Claude Code 가 써 줬지만, 꿈 해석 2관점(한국 전통 · 현대 심리학) · 타로 3모드 풀이 · 사주 분석 프롬프트는 전부 우리가 직접 채웠어요. 한국 전통 해몽서 어휘와 현대 심리학(프로이트·융 계열) 어휘가 한 카드 안에서 섞이지 않도록 — 각 관점의 말투·예시·금기 단어를 분리해서 매뉴얼화했습니다.

이게 "일반 운세 챗봇"과 "운세 전용 AI 앱"의 갈림길이에요. 모델은 같은 Gemini 여도, 프롬프트 매뉴얼이 결과물 품질을 좌우합니다. 그래서 프롬프트는 Firebase Remote Config 로 원격 관리해서, 앱 업데이트 없이도 즉시 개선할 수 있게 해 놨어요.


바이브 코딩으로 어떻게 만들었나요?

시간 순서대로 풀어 드릴게요. git log 에 박제된 실제 일정이에요.

1단계 · 첫 커밋 (2026-03-06)

Claude Code 를 열고 "Flutter 로 꿈해몽 앱 하나 만들어 보고 싶어, Firebase 붙여서" 한 줄로 시작했어요. 첫 커밋 메시지는 Initial commit: DreamPedia Flutter app with Firebase integration. 하루 만에 앱 골격 + Firebase 연결까지 끝난 상태로 git 에 박혔습니다.

2단계 · 앱 이름 결정 (2026-03-07)

사실 첫 앱 이름은 "드림피디아(DreamPedia)" 였어요. 1단계 커밋 메시지(Initial commit: DreamPedia Flutter app with Firebase integration) 에 그대로 박혀 있죠. 처음 컨셉은 'AI 꿈해몽 한 가지'에만 집중 하는 앱이었거든요. 꿈(dream) + 백과사전(encyclopedia) 을 합친 이름. 작명도 Claude Code 와 한국어로 브레인스토밍하면서 골랐어요. 같은 시점에 PRD.md(Product Requirements Document · 제품 요구사항 문서) 한 장도 같이 썼습니다. "뭘 만들지, 누가 쓸지, 뭘 안 할지" 세 가지만 정리한 게 전부였지만, 이후 30일의 헌법이 됐어요. (꿈 외에 타로 · 사주가 합류하면서 "몽타주" 로 공식 리브랜딩되는 건 아래 4단계에서 나옵니다.)

3단계 · 공개 베타 준비 (2026-03-16, v1.1.3+15)

준비도 86% · Critical(치명적) 이슈 8건 전부 해결. 이 지점에서 Reflection 검토 라는 걸 돌렸어요. Claude Code 에게 "다섯 가지 영역(보안·성능·UX·결제·광고)으로 나눠서 스스로 코드 리뷰해 줘" 라고 시킨 거예요. 결과 — Critical 3건 · Major 11건 · Minor 8건 신규 발견. 전부 단계별로 수정 들어갔습니다. AI 가 자기 코드를 스스로 감사한 사례예요.

4단계 · 공식 리브랜딩 (2026-03-19, v1.1.5+17)

리브랜딩(몽타주) + UI 전면 개선 + 안정성 강화. 첫 커밋 13일 만에 정식 이름으로 옷을 갈아입혔어요. 이 시점에 회원탈퇴 시 데이터 완전 삭제, 다크/라이트 모드, 9단계 튜토리얼이 모두 들어갔습니다.

5단계 · 광고 인프라 (2026-03 후반)

AdMob 광고 단위를 4종으로 분리했어요. 꿈해석 리워드 / 사주 리워드 / 타로 리워드 / 배너. 각 단위가 다른 화면에서 노출되니, 데이터도 따로 추적돼야 ROAS(Return On Ad Spend · 광고 수익률) 분석이 의미가 있어요. 이걸 Claude Code 와 같이 설계했습니다.

6단계 · Google Play 정식 출시 + 캠페인 인프라 (2026-04-04 ~ 04-06)

여기가 마지막 산이었어요. 한 번에 4개 콘솔이 엮입니다 — Google Play Console · Google Ads · Firebase Analytics · AdMob. AAB(Android App Bundle · Play Store 업로드 형식) 빌드, 키스토어 보관, R8 난독화, ProGuard keep 규칙(Play Billing / Play Core 클래스 보호), Play Console 정책 점검, AdMob 광고 단위 4종 연결, Firebase Analytics 7개 핵심 전환 이벤트 매핑, Google Ads MAU(월간 활성 사용자) 캠페인 인프라, 2026-04-06 onPaidEvent(광고 노출 수익이 발생할 때마다 호출되는 AdMob 콜백) 연동 까지 — 전부 한 채팅 세션에서 설계됐어요.

첫 커밋(2026-03-06) 부터 정식 런칭 + 광고 캠페인 인프라(2026-04-06) 까지 정확히 30일, 총 78개 커밋, 일평균 2.6 커밋. 코드 한 줄 직접 안 썼습니다.


교육생이 이런 서비스를 만들려면

기술보다 마인드셋이 먼저예요. 모바일 앱은 웹보다 변수가 많아서 — 마인드셋이 더 중요합니다.

① "모바일은 어렵다"는 선입견을 버리세요

Flutter 가 등장하면서 모바일도 하나의 코드베이스로 만들 수 있게 됐어요. 거기에 AI 를 붙이면 — 비개발자도 안드로이드 앱을 30일 안에 출시할 수 있어요. 이 글이 그 증거입니다. "모바일은 전문 개발자나 하는 것" 이라는 생각, 이제 옛날 이야기예요.

② PRD 한 장이 8할

마선생 글에서도 강조한 내용이에요. 몽타주도 똑같았어요. "꿈해몽 + 타로 + 사주를 한 앱에 담는다, 코인 + 광고 + 구독 3중 수익, Android 우선" — 이 세 줄이 PRD 의 시작이었고, 30일 내내 흔들리지 않은 헌법이 됐습니다. PRD 가 흐릿하면 AI 도 헤매요.

③ 보안 위생을 처음부터 챙기세요

모바일 앱은 APK(Android 앱 패키지) 가 사용자 폰에 그대로 깔립니다. 누구나 분석할 수 있어요. 그래서 처음부터 API 키는 절대 앱에 넣지 마세요. 저는 Gemini API 키를 Cloud Functions(서버) 안에 격리하고, 앱은 그 서버에 요청만 보내도록 했어요. R8 난독화, --obfuscate(Dart 코드 난독화), 결정적 데이터 11개 파일 .dat 암호화도 모두 출시 전에 끝냈습니다. AI 가 점검 체크리스트까지 같이 만들어 줘요.

④ AI 의 셀프 코드 리뷰를 받으세요

Claude Code 에게 "네가 작성한 코드를 스스로 다섯 영역으로 나눠 감사해 줘" 라고 시켜 보세요. 몽타주는 이 Reflection 검토 한 번으로 — Critical 3건 · Major 11건 · Minor 8건의 숨은 버그를 찾았어요. 사람이 일일이 코드 리뷰하는 것보다 빠르고, 정직합니다.

⑤ "잘 작동합니다" 를 믿지 마세요

AI 가 "완성됐습니다" 하면 그냥 넘기지 마세요. "광고 보상 지급 성공률 몇 %?", "결제 영수증 검증 실패 케이스는?" 을 물어보세요. 숫자로 증명 못 하면 아직 안 끝난 거예요. 모바일은 사용자 환경(폰 기종·OS 버전)이 천차만별이라, 수치 증거가 더 절실합니다.


같이 공부하실래요?

여기까지 읽으시면서 "내 앱 아이디어도 이렇게 만들어 볼 수 있을까?" 싶으신 분들이 계실 거예요. 바이브 코딩은 결국 같이 해 봐야 늘어요. 혼자 끙끙 앓지 마시고 편하게 열어 주세요.

  • 어떤 앱을 만들고 싶은지 같이 이야기하기
  • PRD 한 장 같이 써 보기
  • 막힌 지점 같이 풀어보기 (특히 Play Store 심사·결제·광고는 처음엔 다 막혀요)

상담은 언제든 무료입니다. 제가 돕는 과정에서 저도 공부가 되니까, 오히려 제가 고마운 자리예요. 같이 만들어 가요.

👉 편하게 연락: 프로필의 문의하기 폼 👉 먼저 혼자 공부해 보고 싶다면: 바이브 코딩 무료 커리큘럼 👉 몽타주 직접 써보기: Play Store 에서 받기 — 카드 등록 없이 가입 즉시 500코인


궁금해하실 것들

Q. AI 가 운세를 진짜로 맞히나요? A. 점쟁이를 흉내 내는 앱이 아니에요. 몽타주는 꿈 · 타로 · 사주 분야의 실제 풀이 매뉴얼(한국 전통 해몽 · 현대 심리학 · 전통 타로 78장 · 만세력 기반 명리학) 을 한글로 주입해서, 분야의 어휘와 관점으로 해석을 제공합니다. "맞고 틀리고" 가 아니라 "내 상황을 새로운 관점으로 바라보게 해주는 도구" 로 써 보세요.

Q. 코딩 모르는 사람도 모바일 앱 만들 수 있어요? A. 만들 수 있어요. 이 글이 증거예요. 다만 PRD 한 장을 쓸 수 있어야 해요. "뭘 만들지, 누가 쓸지, 뭘 안 할지" — 이 세 줄을 한국어로 정리할 수 있으면 출발 가능합니다.

Q. iOS 는 왜 없어요? A. iOS 출시는 Apple Developer Program 연 99달러 + 심사 정책이 조금 더 까다로워요. 우선 Android 에서 사용자 반응을 충분히 받고, 안정화된 다음 iOS 로 확장할 계획입니다. Flutter 라 코드는 거의 그대로 재사용돼요.

Q. 보안은 괜찮나요? A. API 키는 서버(Cloud Functions) 격리, 결제는 Google Play Billing + 서버 영수증 검증, 코드 난독화(R8 + Dart --obfuscate), 결정적 데이터 11개 파일 .dat 암호화, 회원탈퇴 시 모든 데이터 완전 삭제 — D-ONWORKS 공통 보안 위생 규칙을 출시 전에 전부 통과시켰습니다. (코드 저장소는 비공개로 운영 중)


참고 링크

개정 이력1
  • v12026-05-20초판

이 글이 도움이 되었나요?