마이데이터로 새는 돈 잡기 — 구독 관리 앱 '구독 다이어트' 설계 정리
목차
구독 다이어트 — 설계 문서 정리
주제: 마이데이터 기반 구독·고정지출 관리 앱. 카드·계좌의 정기결제를 자동 탐지해 유령구독을 찾아 정리하고 절약을 돕는 서비스.
1. 주제 선정 배경
- 원칙: “도메인은 실무에서, 시스템은 가상으로.”
- 마이데이터(거래 수집·소비 카테고리 분류)는 익숙한 도메인 → 이해도 높음
- 실제 시스템이 아닌 신규 가상 서비스 → 발표 시 기밀 노출 없이 설계 사고가 드러남
- 설계 문서의 “고도(altitude)” 자체가 안전장치 — PRD/흐름도/와이어프레임/ERD는 “무엇을 만드나”를 다루지 내부 구현을 노출하지 않는다.
2. 과제 요건 충족 현황
| 항목 | 구분 | 상태 |
|---|---|---|
| PRD | 필수 | ✅ 완료 |
| 화면 흐름도 (Screen Flow Chart) | 필수 | ✅ 완료 |
| Lo-Fi / Hi-Fi 와이어프레임 | 필수 | ✅ 완료 (둘 다) |
| ERD | 선택 | ✅ 완료 |
| 기능명세서 | 보너스 | ✅ 완료 |
3. 산출물 요약
3-1. PRD (제품 요구사항)
- 문제: 구독이 여러 카드·계좌에 흩어져 총 지출 파악 불가 / 무료체험·요금인상 놓침 / 안 쓰는 ‘유령구독’ 누적 / 해지 번거로움
- 목표: 정기결제 자동 탐지 · 월 구독비 대시보드 · 유령구독 경고+절약액 · 해지 가이드
- 비목표: 앱 내 직접 결제·해지 대행 / 종합 가계부 / 투자·대출 추천 / PC 웹
- 페르소나: 29세 직장인 (구독 과다·관리 포기형)
- 기능 요구사항 (FR):
ID 기능 우선순위 FR-01 마이데이터 자산 연결 P0 FR-02 정기결제 자동 탐지 (가맹점·주기·금액 패턴) P0 FR-03 월 구독비 대시보드 P0 FR-04 유령구독 경고 + 절약액 P0 FR-05 요금 인상·체험 종료 알림 P1 FR-06 해지 가이드 P1 FR-07 카테고리 분석 P1 FR-08 수동 구독 추가·보정 P2 - 성공 지표(KPI): 구독 탐지 정확도 · 사용자당 월 절약액 · 유령구독→해지 전환율 · 알림→진입 전환율
3-2. 화면 흐름도 (Screen Flow)
앱 실행 → (자산 미연결 시) S0 온보딩·자산연결 → 구독 자동 탐지 → S1 홈 대시보드 → S2 구독 목록 → S3 구독 상세 → (유령구독) S4 해지 가이드 → 해지 완료·절약
- S5 알림은 어느 화면에서든 진입 → 해당 구독 상세로 딥링크
3-3. 와이어프레임
- Lo-Fi: 화면 구조 뼈대 (회색 박스로 정보 배치·순서 검증)
- Hi-Fi: 실제 앱 화면 (프롬프트로 만든 작동 프로토타입 → 스크린샷 + 화면별 설명)
3-4. ERD (7 엔티티)
- 핵심 설계: 거래(TRANSACTION)를 패턴 분석해 구독(SUBSCRIPTION)으로 묶고, 판단 근거를 매칭 테이블 TXN_MATCH(신뢰도) 에 남겨 N:M을 해소 + 오탐 교정 가능
- 엔티티: USER / LINKED_ACCOUNT / TRANSACTION / SUBSCRIPTION / TXN_MATCH / MERCHANT_CATALOG / ALERT
3-5. 기능명세서 (보너스)
- 기능별 상세: 관련화면 · 우선순위 · 설명 · 입력 · 처리·로직(단계별) · 출력 · 예외·검증
- 각 기능에 대표 화면 썸네일 포함
4. 핵심 설계 포인트
- 자동 탐지 로직을 데이터 모델로 표현 — 거래 군집화 → 구독, 근거를 TXN_MATCH(confidence)에 저장
- 상태를 색+형태로 이중 구분 — 유령구독(코랄)/요금인상(앰버)/체험종료(블루)/진행중(그린). 색만으로 구분하지 않은 건 접근성 때문
- 아키텍처 = 웹뷰형 마이데이터 플러그인 — 기존 앱에 웹뷰로 삽입, 마이데이터 인증 인프라 재활용
- 실데이터 제약 반영 — 마이데이터 실데이터는 허가·계약 필요 → 초기엔 샘플 데이터로 UX 검증
5. 배운 점
- 주제 선정이 절반이다. “실무 연관 + 발표 안전 + 신규 설계”를 동시에 만족시키는 각도를 찾는 데 시간을 들인 게 이득이었다.
- 문서끼리 연결하면 강해진다. 화면 번호(S0~S5)로 흐름도·와이어프레임·기능명세를 엮고, PRD의 기능을 ERD가 뒷받침하게 하니 하나의 이야기가 됐다.
- 비목표를 적는 게 목표만큼 중요하다. 범위가 흔들리지 않는다.
이 설계를 실제 동작하는 서비스로 만든 이야기는 3주차 구현 정리로 이어진다.