매쓰플랫(Mathflat) 카피 서비스 기획
Outcome (완료 조건)
- 벤치마크 분석 — 매쓰플랫 기능·가격·UX 전수 분석 (완료 2026-05-15)
- MVP 정의서 — 초등 P0 + 중등 P1 기능 + 비핵심 기능 보류 결정 (완료 2026-06-15)
- PRD v1.0 — 화면 흐름·데이터 모델·API 윤곽 + 기술 스택 결정 (완료 2026-07-15)
- GTM 플랜 — 초·중등 공부방·소형학원 100곳 베타 모집 전략 + 가격표 (완료 2026-08-31)
Why This Project
미경이 공부방 운영 도메인 지식이 그대로 SaaS 시장 진입 자산이 됩니다.
- Pain 검증 완료: 미경이 본인이 매쓰플랫을 검토했으나 가격(월 198,000원)과 학생 수 fit(<30명 공부방)에서 과잉 사양 판단
- 차별화 가설: 초등 → 중등으로 이어지는 학습 연속성을 가격·운영편의로 제공. 매쓰플랫과 동일 학년대를 노리되 “<30명 소형 운영자” 가격대에서 정면 경쟁
- Synergy: 본 위키의 studyroom-operation-system 운영 데이터가 그대로 product feedback loop으로 환원
1. 매쓰플랫 벤치마크 분석
1.1 회사·서비스 개요
| 항목 | 내용 |
|---|---|
| 운영사 | 프리윌린 (Freewheelin) |
| 출시 | 2016년 8월 |
| 누적 고객 | 270만명 (2024년 기준) |
| B2B 도입 | 국내 8,500여개 학원/공부방 |
| 시장 포지션 | 한국 1위 수학 문제은행 |
| 핵심 가치 제안 | ”선생님의 힘이 되는 똑똑한 수학문제은행” |
1.2 사용자별 기능 매핑
A. 선생님(원장)용 — 핵심 BM
| 기능 | 설명 | 우리가 카피? |
|---|---|---|
| 시중교재 연동 | 8,500+개 출판사 교재 DB, 단원·난이도 분류 | ⚠️ 라이선스 난제 |
| 학습지 제작 | 출제 범위·난이도 지정 → 맞춤 PDF 생성 | ✅ MVP 핵심 |
| 자동 채점 | 학생 앱 답안 입력 → 즉시 채점 (객관식·단답형) | ✅ MVP 핵심 |
| OMR/QR 채점 | 종이 학습지 QR 스캔 자동 채점 | ✅ Phase 2 |
| 오답·취약유형 관리 | 오답만 모아 분석, 유사문제 재출제 | ✅ MVP 핵심 |
| 학업 보고서 | 월간 자동 생성, 단원·유형별 성취도 컬러 시각화 | ✅ MVP 핵심 |
| 전국 석차 | 학년/반/유형별 성취도 비교 | ❌ 데이터 부족 |
| 출결 관리 + 학부모 알림 | 학원 전용 출석 앱 + 실시간 푸시 | ✅ MVP 핵심 |
| 풀이 동영상 | 문제별 동영상 (프리미엄 전용) | ❌ 제작 비용 과다 |
B. 학생용
| 기능 | 설명 |
|---|---|
| 학습지 풀이 | 앱에서 답 입력 → 즉시 정오답 |
| 오답노트 | 기간별 자동 생성, 주간/월간/시험대비 |
| 학습기록 | 본인 진도·정답률 확인 |
C. 학부모용
| 기능 | 설명 |
|---|---|
| 출결 알림 | 등·하원 실시간 푸시 |
| 학업 리포트 | 월간 보고서 자동 발송 |
| 학원 공지 | 원장이 발송하는 알림 수신 |
1.3 가격 구조 (2026년 5월 기준)
| 플랜 | 월 요금 | 포함 학생 수 | 추가 학생 단가 |
|---|---|---|---|
| 베이직 | 198,000원 | 30명까지 | +5,500원/명 |
| 프리미엄 | 300,000원 | 30명까지 | (문의) |
- 학생/학부모 앱: 무료 (선생님이 결제)
- 결제일: 매월 25일 정기결제
1.4 강점 / 약점
강점
- 출판사 교재 DB가 압도적 (진입장벽 ★★★★★)
- 대치동·강남 학원 레퍼런스 → 중·고등 학원에 표준
- 시험문제 적중률 후기 누적
약점 (= 우리 기회)
- 초등 저학년 커버리지 약함 — 중·고등 중심 설계
- 개념학습 부족 (실제 후기 인용)
- 소규모 공부방에 과잉 사양 — 30명 미만에서 198,000원/월은 ROI 압박
- UI 학습 곡선 — 1인 운영 원장에게 기능 과밀
- 풀이 동영상은 프리미엄 잠금 (월 +102,000원)
2. 클론 서비스 컨셉 — “A+ Tracker (가칭)“
2.1 한 줄 정의
초등 1학년부터 중등 3학년까지, 30명 이하 공부방·소형학원 전용 수학 학습 관리 SaaS — 매쓰플랫의 1/3 가격대로 동일 학년대를 커버.
2.2 타겟 페르소나
| 구분 | 페르소나 | 핵심 Pain |
|---|---|---|
| Primary | ”초등 공부방 원장” (학생 8 | 학습지 제작·채점에 주 5h / 매쓰플랫은 비싸고 무거움 |
| Primary-2 | ”초·중등 혼합 공부방 원장” (초등 + 중등 1~2학년 동시 지도) | 매쓰플랫 도입 검토 중이나 30명 미만에서 ROI 압박 |
| Secondary | ”신규 개원 1년차 원장” | 운영 시스템이 없어 학부모 신뢰 확보가 어려움 |
| Tertiary | ”방문교사 / 1:1 과외 강사” | 학생 5명 이하, 매쓰플랫 진입 불가 |
2.3 차별화 가설 (vs 매쓰플랫)
| 축 | 매쓰플랫 | A+ Tracker |
|---|---|---|
| 가격 | 198,000원/월 | 49,000~79,000원/월 (1/3~1/4 수준) |
| 타겟 학년 | 초·중·고 (중·고 강점) | 초1 ~ 중3 (초·중 연속성 강점, 고등 제외) |
| 학생 규모 | 30명+ 학원 | 3~30명 공부방·소형학원 |
| 문제 소스 | 출판사 교재 라이선스 8,500+ | 자체 제작 + 공공 자료(EBS/KOFAC) + AI 변형 — 출판사 라이선스 X (§10 결정 1·3) |
| AI | 약함 | AI 진단 → 맞춤 학습지 자동 생성 (LLM 기반) |
| 학부모 리포트 | 정형 템플릿 | Claude가 학생별로 자연어 코멘트 자동 작성 |
| 온보딩 | 영업 + 도입 컨설팅 | 셀프 가입 → 10분 안에 첫 학습지 출제 |
2.4 의도적 안 하는 것 (Non-goals)
- 고등 시장 (수능·모의고사 콘텐츠 진입장벽 + 매쓰플랫·이투스·메가스터디 전쟁터)
- 30명 초과 대형 학원 (영업·도입 컨설팅 비용 ROI 안 맞음)
- 출판사 교재 라이선스 임베드 (P0~P1 동안 — §10 결정 1)
- 풀이 동영상 (CP 비용 ROI 부적합 → 외부 유튜브 큐레이션으로 대체)
- 전국 석차 (데이터 부족 + 초·중등에서 학원 자체 석차로 충분)
- 자체 결제 모듈 (토스페이먼츠 위탁)
3. MVP 기능 정의 (P0)
MVP 원칙
“원장이 가입 후 10분 안에 첫 학습지를 학생에게 보낼 수 있다”
3.1 P0 기능 (3개월 내 출시) — 초등 1~6학년 한정
-
학생 등록 + 학년·진도 입력
- 이름, 학년, 현재 단원, 학부모 연락처
- 학생당 자동 부여되는 6자리 학습 코드 → 학생 앱 로그인
-
학습지 자동 생성
- 단원 선택 → 난이도(상/중/하) → 문항 수(10~30) → PDF/디지털 출제
- 문제은행: 자체 제작 1,500제 (초등 6학년 × 단원당 ~50제) + AI 변형 1제→3제 증식 + 공공 자료(EBS·KOFAC)는 외부 링크 보조 학습 탭으로만 노출 (§10 결정 1·3)
- 출제 즉시 학생 앱에 푸시
-
학생 앱 — 답안 입력 + 즉시 채점
- 객관식: 1탭 답 선택
- 단답형: 숫자 키패드
- 서술형: 사진 업로드 → 원장 수동 채점
-
오답노트 자동 생성
- 최근 7일/30일 오답 자동 모음
- 같은 단원 유사문제 1건씩 자동 재출제
-
학부모 리포트 (월간)
- Claude Sonnet 기반 자연어 코멘트 (“이번 달은 분수 단원에서 약 65% 정답률, 도형은 90%로 강점입니다…”)
- 카카오 알림톡 발송 — 미경 개인사업자 명의 발신프로필 (§10 결정 5)
3.2 P1 기능 (Phase 2, 69개월차) — **중등 13학년 확장 + 운영 자동화**
- 중등 1~3학년 콘텐츠 풀 추가 — 자체 제작 1,500제 + AI 변형 (§10 결정 2 반영). 외주 수학 강사 2명 × 3개월 투입.
- 중등 시험대비 모드 — 중간·기말 범위 지정 → 출제 자동화 (매쓰플랫 핵심 기능과 동급)
- QR 종이 학습지 채점 (스마트폰 카메라)
- 출결 관리 + 등하원 푸시
- AI 진단 — 5문제로 단원 수준 측정 → 맞춤 학습지 자동 출제
- 결제 모듈 (학부모 직접 결제)
3.3 P2 기능 (Phase 3, 12~15개월차) — 운영 전환 + 가격 SKU 분리
- 가격 임계점 결정 (§10 결정 4) — 베타 100곳 LTV·CAC 데이터 기반 49,000 / 79,000 분기 또는 단일가 유지 결정
- 법인 전환 + 알림톡 발신프로필 이관 (§10 결정 5 후속) — 매출 1억 돌파 시점에 트리거
- 영어/국어 확장 검토 (수학 PMF 확정 후)
- 원장 대시보드 — 매출·출결·학생 진도 통합
- 학원 간 벤치마킹 데이터 (선택 가입)
4. 기술 스택 가설
| 레이어 | 선택안 | 이유 |
|---|---|---|
| Frontend (선생님 PC/태블릿) | Next.js + TypeScript | SEO + 셀프 온보딩 랜딩 통합 |
| Frontend (학생/학부모 앱) | React Native (Expo) | iOS/Android 1코드, EAS 배포 |
| Backend | Python FastAPI + PostgreSQL | LLM 호출 친화적, 빠른 개발 |
| AI | Claude Sonnet 4.6 (리포트), Haiku 4.5 (채점 보조) | 한국어 자연스러움 + 비용 |
| 인프라 | Vercel + Supabase + Cloudflare R2 | 1인 운영 가능 비용 구조 |
| 알림 | 카카오 알림톡(NHN Toast) + APNS/FCM | 학부모 채널은 카톡 필수 |
| 결제 | 토스페이먼츠 정기결제 | 한국 시장 표준 |
콘텐츠 소싱 결정 (2026-05-01 확정 — §10 결정 1·3)
출판사 라이선스 X / 사용자 PDF 업로드 X. 자체 제작 + AI 변형 1제→3제 증식 + 공공자료(EBS·KOFAC)는 외부 링크 보조 학습 탭으로만 노출. 콘텐츠 제작 예산: 외주 수학 강사 2명 × 3개월 ≈ 1,500만원, P0 초등 1,500제 + AI 변형 4,500제, P1 중등 1,500제 + AI 변형.
5. 가격 모델 가설
가격 SKU 결정은 P2(운영 전환 시점)로 보류 (§10 결정 4)
P0~P1 개발 단계에서는 베타 무료로 운영. 베타 100곳 LTV·CAC 데이터 확보 후 49,000 / 79,000 분기 또는 단일가 결정. 아래 표는 운영 전환 시점에 검증할 후보 안.
5.1 후보 안 (운영 전환 시점에 결정)
| 플랜 | 월 요금 | 학생 수 | 추가 학생 |
|---|---|---|---|
| Free | 0원 | 3명까지 | — |
| Starter | 49,000원 | 15명까지 | +3,000원/명 |
| Pro | 79,000원 | 30명까지 | +2,500원/명 |
- 학생/학부모 앱은 무료 (매쓰플랫 동일)
- 연간 결제 시 -15%
- Free 티어 의도: 1:1 과외·신규 개원 원장 유입 → Starter 전환
5.2 가격 결정 트리거 (P2 진입 조건)
- 베타 활성 공부방 100곳 도달
- 평균 학생 수 / 평균 월간 학습지 출제 횟수 / 알림톡 발송량 측정 → 학생당 가변비 산출
- CAC 측정 (블로그·맘카페·유튜브 채널별)
- 사용자 인터뷰 5건 — “이 가격이면 결제 의사 있나” 임계점 검증
6. GTM 전략 (Beta 100 모집)
6.1 채널
- 본 위키 자산 활용 — blog-content-strategy에서 만든 네이버 블로그/인스타로 “공부방 운영 자동화 도구” 컨셉 유입
- 학부모 커뮤니티 — daum-elementary-mom-cafe, momschool-parent-education-community에 사용 후기 시딩
- 공부방 운영 블로그 — hagwonblog-imweb-me 게스트 포스팅
- YouTube — youtube-elementary-mom-tv 류 채널 협찬 1~2건
6.2 Beta 모집 KPI
| 지표 | 목표 (3개월) |
|---|---|
| Sign-up | 300 공부방 |
| Active (월 1회 이상 학습지 출제) | 100 공부방 |
| 유료 전환 | 30 공부방 |
| 평균 NPS | 50+ |
7. 리스크 & 완화
| 리스크 | 가능성 | 완화 |
|---|---|---|
| 매쓰플랫과 학년대 정면 충돌 (초·중등 진입 결정 후) | 고 | 가격 1/3~1/4 + <30명 운영자 가격대 + AI 자연어 리포트로 차별화 / 매쓰플랫이 같은 가격대 SKU 출시 시 자기잠식 부담 → 우리에게 시간 확보 |
| 출판사 라이선스 부재로 인한 콘텐츠 부족감 | 중 | 자체 1,500제 + AI 변형 4,500제 + 공공자료 외부 링크 / 사용자 후기에서 “교재 빈약” 언급 시 P3에서 협상 검토 |
| 매쓰플랫 가격 인하 대응 | 중 | 운영 데이터 lock-in (출결·상담 메모 1년치) + 본 위키 SEO 자산 선점 |
| 1인 개발 리소스 부족 | 고 | Phase별 P0 → P1 → P2 엄격 분리, P0은 외주 1명 + 미경 운영 검증 |
| 카카오 알림톡 템플릿 승인 지연 | 중 | 시작 단계에서 SMS fallback 병행 / 미경 개인사업자 발신프로필 선등록 (§10 결정 5) |
| AI 리포트 환각 (학생별 사실 오류) | 고 | 정량 데이터(정답률·단원)는 템플릿, Claude는 코멘트만 + 발송 전 원장 검수 |
| 중등 콘텐츠 외주 제작 지연 | 중 | P0(초등) 출시 후 동시 진행, P1 발사일 push 가능한 슬랙 시간 1개월 확보 |
8. Knowledge Pulls
본 위키에서 즉시 끌어쓸 수 있는 기존 자산
- studyroom-operation-system — Tier 2 운영 체계: product spec의 페르소나 행동 시퀀스 그대로 활용
- 초등교과과정-학년별-단원-가이드 — 단원 분류 트리 → 학습지 출제 카테고리 ID 매핑 직접 차용
- 공부방-학생관리-체계 — 학생 데이터 모델 (이름/학년/진도/특이사항) 그대로 schema 1차 안
- 초등-학년별-학습발달-특성 — AI 리포트 자연어 코멘트 톤 가이드라인
- vivasam-digital-mathematics-tools — 분수·도형 학습 디지털 교구 UX 벤치마크
- ebs-math-cheering-squad — P0 공공 콘텐츠 매핑 1차 후보
본 프로젝트 산출물 (2026-05-01 작성, 총 16종)
Batch 1 (5종):
- mathflat-ux-deep-dive-2026-05-01 — 매쓰플랫 UX 심화 분석
- prd-v0.1 — P0 PRD 1차
- content-rfp — 외주 콘텐츠 RFP
- mathflat-clone-prelaunch-checklist-2026-05-01 — 사전 행정 체크리스트
- unit-economics-v0.1 — 단위 경제 모델
Batch 2 (11종, RFP 부록 + PRD 보강 + 운영):
- appendix-a-units — 71단원 표준 (2022 개정)
- appendix-b-codes — 단원약어·문항ID 규칙
- appendix-c-contract — 표준 계약서 1차안
- appendix-d-templates — 문항 양식 5종
- appendix-e-review — 검수 50항목
- seed-units.json — DB 시드 (71행)
- ai-variant-pipeline — 변형 + 검수 파이프라인
- prd-v0.2 — PRD v0.2 (Open Q 4건 해소)
- alimtalk-templates — 카카오 템플릿 5종
- job-posting-3-channels — 강사 모집 3채널
- beta-landing-copy — 베타 랜딩 8섹션
현재 상태 (2026-05-01):
- ✅ Phase 0 완료 (사업자·카카오·저작권위·변호사·강사·도메인 모두 처리)
- ⏩ Phase 1 진입: PHASE-1-PLAN (3트랙 12주)
핸드오프 (시작점):
- HANDOFF — 45종 카탈로그 + Phase 0~3 사용 순서 + 비용 추정
Batch 3 (11종 + 마무리 3종 = 총 14종, 코드·디자인·중등·테스트·온보딩):
- appendix-a-units-middle — 중등 M1~M3 26단원
- appendix-d-templates-extended — 문항 30종 예시
prelaunch/alimtalk-validator.py— 알림톡 검증 스크립트 (자가테스트 5/5 PASS)- prd-v1.0-design-spec — 디자인 디테일
prd/openapi.yaml— OpenAPI 3.0 spec (40+ endpoints)- signup-form-spec — Tally 폼 + 자동응답
prd/migration-001.sql— Supabase 초기 schema- ai-variant-test-results — 변형 시뮬레이션 15건
gtm/landing/— Next.js 스캐폴드 8 컴포넌트prd/content-importer.py— YAML→DB 임포터- parent-report-prompts — Claude 학부모 리포트 프롬프트 + 5 샘플
prd/migration-002-rls.sql— RLS 정책 23+ (학원별 격리)- prd-v1.1-onboarding — 원장 10분·학생 1분·학부모 5초 온보딩
Backend Scaffold (16종, FastAPI + Docker):
backend/—docker-compose up만으로 부트 가능한 개발환경- main.py / config.py / 9 routers / claude·alimtalk services / Dockerfile / docker-compose.yml / pyproject.toml / 시드·마이그레이션 스크립트 / health 테스트
9. Progress
2026-05-01 — 프로젝트 등록
- 매쓰플랫 벤치마크 1차 완료 (mathflat.com 본문 403 차단 → 검색 결과 + 나무위키 + 블로터 기사 종합)
- MVP P0 기능 5개 정의
- 가격 가설 49,000
79,000원/월 (매쓰플랫 1/31/4 가격대) - 다음 액션: 매쓰플랫 데모 계정 신청 /
student.mathflat.comUX 1주일 분석 / 출판사 라이선스 가능성 1차 컨택
2026-05-01 — 5개 핵심 의사결정 확정 (전략 피벗 포함)
- 콘텐츠 소싱: 자체 + 공공자료(외부 링크 보조) 확정 — 출판사 라이선스 / 사용자 PDF 업로드 모두 미채택
- 학년 범위: 초등 1
6학년 niche → 초·중등(초1중3) 확장으로 전략 피벗 — 매쓰플랫과 학년대 정면 경쟁 수용, 차별화는 가격(1/3~1/4) + AI 자연어 리포트 + <30명 운영자 fit - 가격 SKU 결정 시점: P0~P1 개발 단계 보류, P2(운영 전환 시점) LTV·CAC 데이터 기반 결정
- 카카오 알림톡 발신자: 미경 개인사업자 명의로 P0 시작, P2(매출 1억 돌파)에서 법인 전환 후 발신프로필 이관
- 다음 액션:
- 미경 사업자등록증 업종에 “정보통신업/소프트웨어 개발 및 공급업” 포함 여부 확인 → 없으면 추가
- 카카오 비즈메시지 발신프로필 신청 (영업일 3~5일)
- 한국저작권위원회 무료 법률상담 신청 — 공공자료 외부 링크 임베드 약관 검토 (전화번호 1372는 소비자상담센터 — 오기 정정)
- 외주 수학 강사 2명 컨택 (초등 1,500제 제작 견적, 중등 풀은 P1)
2026-05-01 — P0 산출물 5종 작성 (자율실행 모드)
- mathflat-ux-deep-dive-2026-05-01 — 매쓰플랫 UX 심화 분석 (앱 4종 분리·학습지 흐름·채점 3경로·리포트 컬러 매트릭스 + 우리 PRD 입력 6결론)
- prd-v0.1 — P0 PRD 1차 (데이터 모델 11엔티티 + API 윤곽 + 화면 5종 + 비기능 요건)
- content-rfp — 외주 콘텐츠 RFP (1,500제 사양·검수·저작권 양도)
- mathflat-clone-prelaunch-checklist-2026-05-01 — 사전 행정 체크리스트 (업종 추가·카카오 비즈·저작권위 상담·외주 모집·베타 페이지)
- unit-economics-v0.1 — 단위 경제 v0.1 (COGS 학생당 171원 / Starter 마진 92% / Pro 88% / 가격 방어선 12,000원)
- 자가 검토 정정: 한국저작권위 전화번호 1372 → 소비자상담센터 오기 (체크리스트 §4 + 본 §9 정정)
- 다음 액션 (W1~W4):
- 세무사 1회 컨설팅 (업종코드 722000 vs 58221)
- 카카오비즈니스 채널 개설 + 발신프로필 심사 신청
- 한국저작권위 법률상담 신청
- RFP 부록 A·B 작성 (초등교과과정-학년별-단원-가이드에서 단원 추출)
- 강사 2명 모집 (크몽 + 학원 커뮤니티 + 본 위키 hagwonblog-imweb-me 게스트 포스팅)
2026-05-01 — P0 산출물 11종 작성 (자율실행 모드, batch 2)
미경 본인 처리 영역(인증·신청·계약·인터뷰) 외 위키 안에서 가능한 사전 작업 모두 작성.
RFP 부록 5종 (강사 모집 차단 해제):
- appendix-a-units — 2022 개정 71단원 표준
- appendix-b-codes — 단원약어·문항ID 명명 규칙
- appendix-c-contract — 표준 계약서 1차안
- appendix-d-templates — 문항 양식 5종
- appendix-e-review — 검수 50항목
PRD·시스템 산출물 3종:
- seed-units.json — DB 시드 (71행)
- ai-variant-pipeline — 변형 + 검수 파이프라인
- prd-v0.2 — PRD v0.2 (Open Q 4건 해소)
운영 산출물 3종:
- alimtalk-templates — 카카오 템플릿 5종
- job-posting-3-channels — 강사 모집 3채널 사본
- beta-landing-copy — 베타 랜딩 8섹션 카피
Curriculum 정정:
- 영역 5개 → 4개 (2022 개정: 수와연산·변화와관계·도형과측정·자료와가능성)
- 2026년 3월부터 E5·E6 신규 적용 → 본 산출물은 가장 현행 교육과정 반영
- 영역별 단원 수 자가 검토에서 NUM 34/REL 5/GMM 25/DAT 7 = 71로 정정
다음 액션 (B+C 그룹):
- 변호사 표준 계약서 검토 의뢰 (30~50만원, 미경 본인 처리)
- 강사 모집 공고 3채널 동시 게재 (미경 본인 처리)
- 베타 랜딩 페이지 디자인·구축 (Framer 또는 Webflow)
- 단원 시드 JSON → Supabase migration 적용 (개발 시작 시)
2026-05-01 (Phase 0 완료 → Phase 1 진입)
미경 본인 처리 영역 모두 완료:
- ✅ 사업자등록 업종 추가 (정보통신업/소프트웨어 개발 및 공급업)
- ✅ 카카오비즈니스 채널 + 발신프로필 등록 (UUID 보유)
- ✅ 알림톡 템플릿 5종 심사 통과
- ✅ 한국저작권위원회 법률상담 (외부 링크 OK / 새 탭 권장 / 공공누리 1·2유형만)
- ✅ 변호사 표준 계약서 검토 → v1.0 확정 (제11조 손해배상 1,000→500만원)
- ✅ 외주 강사 2명 인터뷰·선발·계약 체결
- ✅ 베타 페이지 도메인·Tally 폼 발급
PHASE-1-PLAN 진입 — 3 트랙 12주.
2026-05-01 17:00~19:50 KST — Phase 1 W1 day 1 자율실행 (Claude 위임 개발)
미경이 직접 개발 미가능으로 Claude 가 자율실행. 단일 세션에 백엔드·웹·학생앱·인프라 critical path 완성.
Track B 백엔드 (api/) — T1~T11:
- 11 라우터 (auth/academies/students/units/questions/worksheets/assignments/reports/health/attendance/scripts dispatcher)
- 5 서비스 (claude/alimtalk/notify/metrics/grading)
- 12 SQLAlchemy 모델 + 18 enum
- 3 마이그레이션 SQL (initial schema / RLS / 003 question.domain + 인덱스)
- pytest 56 단위 테스트 통과
- AsyncAnthropic + 카카오 NHN Cloud + outbox dispatcher
Track C 원장 대시보드 (web/) — Next.js 15 + Tailwind 4:
- 7 페이지 (login / signup / onboarding/academy / dashboard / students / worksheets/new / reports / kiosk)
- API 클라이언트 (axios + JWT refresh + 401 자동 logout)
- TanStack Query + react-hook-form
Track 신규 학생 앱 (student-app/) — Expo 52 + RN 0.76:
- 6 페이지 (sign-in / 학습지 목록 / 오답노트 / MY / 풀이 / 결과)
- expo-secure-store (토큰 + 답안 draft)
- TanStack Query + AppState background save
Track D 인프라:
- N1 OpenAPI 자동 동기화 (24 paths + 35 schemas → TypeScript)
- N2 GitHub Actions 3 workflows (api/web/student-app)
- N3 Sentry 백엔드 통합 + MONITORING.md (PII 마스킹 19 키 + 정규식)
- N4 AI 변형 파이프라인 (Haiku 생성 + Sonnet 검증, savepoint, 비용 가드)
- N5 출결 키오스크 (별도 audience=‘kiosk’ 토큰 + 5분 dedup)
적대적 레드팀 누적 122+건 발견 → CRITICAL 모두 수정:
- T5~T8 백엔드 66건
- T11 cross-cutting 30+건
- T11-web 10건
- T11-student 5+건
- T11-N (N1~N5) 11건
핵심 차단 수정 예시:
- 정답 누출 (QuestionStudentView 강제, Pydantic schema)
- Race condition (pg_insert ON CONFLICT, SELECT FOR UPDATE, savepoint)
- JWT audience confusion (owner/student/admin/kiosk + iss + extra reserved 차단)
- AI 환각 + prompt injection (validate_comment + INJECTION_GUARD delimiter)
- AI 비용 폭증 (skip_claude + max-cost 가드)
- KST 시간대 일관성 (utils.KST + _month_range_kst)
- PII 누출 (19 키 + 정규식 fallback + Sentry _scrub_pii)
- 키오스크 owner 토큰 탈취 (별도 audience=‘kiosk’)
산출물 위치:
app/aplus-tracker/api/— 백엔드 (Python 50+ 파일)app/aplus-tracker/web/— 원장 대시보드 (TSX 15+ 파일)app/aplus-tracker/student-app/— 학생 앱 (TSX 11+ 파일)app/aplus-tracker/scripts/generate-types.sh.github/workflows/{api,web,student-app}.ymlapp/aplus-tracker/MONITORING.md
다음 액션 (W2~W4):
- 미경 본인: docker-compose up 실 동작 검증 + Vercel/EAS 배포 + 강사 작업 점검
- 자율실행 가능: AI 변형 파이프라인 실행 (실 API 키), E2E 자동화 (Playwright/Detox), 매쓰플랫 import script
2026-05-02 — Phase 1 ✅ 완료 + Phase 2 진입 준비
Phase 1 최종 상황:
- ✅ 백엔드 11 라우터 + 5 서비스 + 12 SQLAlchemy 모델 완성
- ✅ 원장 대시보드 (Next.js 15) 7페이지 완성
- ✅ 학생 앱 (Expo 52) 6페이지 완성
- ✅ 인프라 (OpenAPI sync + GitHub Actions + Sentry + AI 변형 파이프라인 + 키오스크) 완성
- ✅ 적대적 레드팀 122+건 → CRITICAL 모두 수정
카페 문제지 수집 통합 (별도 프로젝트 진행):
- naver-cafe-worksheet-collection — Phase 1 완료 (2026-05-02)
- 수집 결과: 26개 게시글 → 43개 파일 다운로드 (소요 3개월 예정 대비 즉시 완성)
- 기술 구현: OAuth 콜백 대기 + JavaScript goDown() 함수 호출 + 최대 3개 제약 적용
- 저장 위치:
storage/worksheets/(43개 ZIP 파일) - 다음 단계 (Phase 2 연계):
- parser.py: ZIP 추출 → PDF 텍스트 파싱 (pdfplumber + pytesseract)
- importer.py: 추출 데이터 → question 테이블 저장 (source=‘cafe’)
- collect_cafe.py: 전체 파이프라인 통합
아플러스 트래커 본 서비스 vs 카페 수집 프로젝트 관계:
| 구분 | 아플러스 트래커 (mathflat-clone) | 카페 문제지 수집 |
|---|---|---|
| 범위 | SaaS 전체 (원장용 + 학생용 + 학부모용) | 콘텐츠 DB 채우기 (입력 자동화) |
| 상태 | Phase 1 완료 (P0 개발 완성) | Phase 1 완료 (자동 수집 완성) |
| 산출물 | 백엔드/웹/앱 + 운영 자동화 | 43개 파일 + parser/importer 미완성 |
| 다음 단계 | P1 (중등 콘텐츠 + 시험대비 + QR 채점) | Phase 2 (DB 저장 + 메타데이터 관리) |
| 타이밍 | 병렬 진행 | 카페 수집 Phase 2 → aplus 본 서비스 P1 때 문제 DB로 활용 |
W1 자율실행 완료 산출물:
app/aplus-tracker/api/— 백엔드 (Python 50+)app/aplus-tracker/web/— 원장 대시보드 (TSX 15+)app/aplus-tracker/student-app/— 학생 앱 (TSX 11+).github/workflows/{api,web,student-app}.ymlapp/aplus-tracker/MONITORING.md(PII 마스킹)- 5개 plugin 파일 (aplus-qa-team / aplus-devops / aplus-data-ops / phase-orchestrator)
W2 진입 체크리스트:
-
docker-compose up검증 (미경 본인) - Vercel + Supabase + EAS 배포 (미경 본인)
- AI 변형 파이프라인 실행 (Claude 자율)
- E2E 자동화 테스트 (Playwright/Detox)
- 카페 수집 Phase 2 (parser.py + importer.py) 시작
10. Decision Log
초기 결정 (프로젝트 등록 시)
- 2026-05-01: P0에서 풀이 동영상 제외 — 콘텐츠 제작비 ROI 불확실, 외부 유튜브 큐레이션으로 대체.
- 2026-05-01: AI 리포트는 “정량은 템플릿, 정성은 Claude” 분리 — 환각 리스크 차단.
5개 핵심 의사결정 (2026-05-01 확정)
결정 1: 콘텐츠 소싱 — 자체 + 공공자료 (출판사 라이선스 X, 사용자 PDF 업로드 X)
- 옵션 A(출판사 라이선스), B(사용자 PDF 업로드), C(공공자료만) 중 C 채택.
- 근거: 라이선스 협상 시간·MG 부담, B는 저작권 회색지대 리스크.
- 영향: 자체 제작 1,500제(초등) + AI 변형 4,500제로 P0 콘텐츠 풀 확보, 외주 강사 2명 × 3개월 ≈ 1,500만원.
결정 2: 학년 범위 — 초·중등(초1~중3) 정면 경쟁 (이전 niche 전략 폐기)
- 이전 결정 “정공법 카피 거부, 초등 저학년 niche” → 폐기.
- 새 결정: 매쓰플랫과 학년대 동일하게 가져가되 가격(1/3~1/4) + <30명 운영자 fit + AI 자연어 리포트로 차별화.
- 영향: P0(초등 1
6) 출시 후 P1(중등 13) 빠른 확장. 외주 강사 2명 → 추가 채용 또는 동일 인원 연장 필요. Non-goals에서 “중·고등 시장” 제외, “고등 시장”만 잔존. - 트레이드오프: 매쓰플랫 영업력 정면 충돌 부담, 단 그들은 198,000원 가격 자기잠식 부담으로 우리 가격대 대응 어려움.
결정 3: 공공자료 임베드 방식 — 외부 링크 보조 학습 탭 (직접 임베드 X, 기관 파트너십 X)
- 옵션 1(메타데이터+외부 링크), 2(기관 파트너십), 3(자체+공공 외부 링크) 중 3 채택.
- 근거: 1·3은 결과적으로 동일하나 표현 정확화 — 공공자료를 자체 콘텐츠와 동등 노출 X, “추가 학습” 탭에 외부 링크로만.
- 영향: P0 초기 콘텐츠 부족감 우려, 자체+AI 변형으로 보완. 한국저작권위 1372 상담으로 약관 사전 검증.
결정 4: 가격 SKU 결정 시점 — P2(운영 전환 시점)로 보류
- 49,000원 / 79,000원 / 단일가 결정은 P0~P1 동안 미정 처리.
- 베타 100곳 무료 운영 → LTV·CAC·평균 학생수·알림톡 발송량 데이터 확보 후 결정.
- 영향: 베타 모집 페이지에 “베타 무료, 정식 가격 추후 안내” 표기.
결정 5: 카카오 알림톡 발신자 — A안(미경 개인사업자 명의) → P2에서 법인 전환
- 옵션 A(개인사업자), B(법인 신설), C(대행사 임대) 중 A → B 마이그레이션 전략.
- 근거: 초기 비용 0, 미경 보유 사업자 활용. 매출 1억 돌파 시점에 책임 한정·세제·투자유치 이유로 법인 전환.
- 영향: P0 발사 전 미경 사업자등록증 업종(정보통신업/소프트웨어 개발 및 공급업) 추가 필요. 카카오 비즈메시지 발신프로필 신청 (영업일 3~5일). 발신프로필 명: “A+ Tracker by 미경” (가칭).
11. Open Questions
Resolved (2026-05-01 — §10 참고)
-
출판사 라이선스 / 사용자 PDF 업로드 / 공공자료 中 택1→ 공공자료 외부 링크 + 자체 제작 (결정 1·3) -
매쓰플랫이 초등 저학년 시장에 진입할 경우 방어→ 초·중등 정면 경쟁으로 전환 (결정 2), 가격·운영자 fit·AI 차별화로 대응 -
결제 의사 가격 임계점 49,000 vs 79,000→ P2(운영 전환 시점)에서 데이터 기반 결정 (결정 4) -
카카오 알림톡 발신자 — 사업자 vs 법인→ 개인사업자 → 법인 마이그레이션 (결정 5)
Still Open
- 외주 수학 강사 채용 — 어디서 어떻게 모집할지(크몽? 학원 강사 커뮤니티?). 단가 / 검수 프로세스 / 저작권 양도 계약서 양식.
- AI 변형 1제→3제 품질 검증 방법 — 자동 생성 변형 문제의 수학적 정확성 검수 프로세스. 강사 검수 인력비 추정.
- P1 중등 진입 시 단원 우선순위 — 중1·2·3 동시 vs 중1 먼저. 베타 사용자의 학생 학년 분포에 따라 결정.
- 학부모 결제 vs 원장 결제 — 학부모 직접 결제(P1)가 들어오면 알림톡뿐 아니라 청구·환불 흐름도 학부모 채널이 됨. 데이터 모델 사전 분리.
- 공공자료(EBS·KOFAC) 외부 링크 약관 — 한국저작권위 1372 상담 결과 문서화 후 본 페이지 갱신.