— Dark Moon Study Report 개발기
“유튜브 자막 하나로 학습 노트 + 학생 워크시트 + 강사 가이드가 한 번에 나오면… 내 삶이 좀 밝아질까?”
(결론: 달은… 아직 어둡지만, 야근은 줄었다.)
그 생각 하나로 시작했다.
💡 아이디어의 시작: 나는 교사가 아니라 강사다
나는 영어 강사다.
그리고 매일 같은 루프에 갇혀 살았다.
유튜브에서 괜찮은 강의 영상 찾기
자막 다운로드
핵심 요약하기
학생용 워크시트 만들기
수업용 가이드(=강사용 메모) 만들기
이걸 한 번 돌리면 2~3시간이 그냥 사라진다.
내 시간은 어디로 가는가… (아마 달의 뒷면)
그래서 혼잣말을 했다.
“이거… AI가 대신 해주면 안 돼?”
그렇게 Dark Moon Study Report가 태어났다.
🔧 그래서 뭐를 만들었나
Dark Moon Study Report는 한 줄로 말하면 이거다.
유튜브 강의 자막을 붙여넣기만 하면, Gemini AI가 3가지 학습 파일을 동시에 생성하는 도구
생성되는 파일 3종
| 파일 | 내용 |
|---|---|
| 📝 학습 노트 | 핵심 요점 3가지 + 암기 카드 + 예상 시험 문제 |
| 📋 학생 워크시트 | 빈칸 채우기 + 이해 점검 + 토론 질문 |
| 👩🏫 강사 가이드 | 수업 팁 + 평가 기준 + 토론 전략 |
그리고 욕심이 좀 과했다. (하지만 후회는 없다)
4개 언어 동시 지원: 한국어 · English · 日本語 · 中文
암기 카드 클릭 인터랙션
개념 맵 시각화까지
“강사 한 명이 혼자 다 하려면… 결국 도구를 만들어야 한다”는 결론에 도달했다.
🚀 개발 여정: HuggingFace Spaces와의 (정겨운) 전쟁
1단계 — 아이디어를 코드로 바꾸기
첫 버전은 단순했다.
Gradio + Gemini API
자막 입력 → JSON 분석 → HTML 렌더링
이론상: “오, 쉽다.”
현실: “오… 쉽지 않다.”
2단계 — HuggingFace 배포의 함정들
HuggingFace Spaces에 올리는 순간부터,
내 프로젝트는 ‘학습자료 생성기’에서 ‘버그 생성기’로 진화했다.
① f-string 이스케이프 지옥
# 이렇게 쓰면 HF에서 오류
html = f"""<style>
.card { background: #fff; } # ← 중괄호가 f-string이랑 충돌
</style>"""CSS의 {}가 f-string에 의해 “아? 변수 주입인가?”로 오해받는다.
해결책은 {{}} 이중 중괄호.
문제는… CSS가 수십 줄이면?
그날 나는 중괄호 탐정이 되었다.
② CDN 차단
한국 Google Fonts가 HF 환경에서 간헐적으로 로드 실패.
결국 시스템 폰트 fallback 추가하고 CDN 의존도를 낮췄다.
“폰트가 안 뜨면 감성이 죽고, 감성이 죽으면 서비스가 죽는다.”
③ gr.Progress 충돌
로컬에서는 되는데 배포하면 안 되는 그 악명 높은 패턴.
Gradio 버전 차이로 gr.Progress가 엇갈렸다.
해결: requirements.txt에 버전 핀(pin) 박기
(“우리 사이엔 안정이 필요해.”)
④ CSS !important 전쟁
Gradio 기본 CSS가 내 스타일을 계속 덮어쓴다.
결국 중요한 스타일엔… !important 폭격.
.study-card {
background: #1a1a2e !important;
border-radius: 16px !important;
}우아하진 않다.
하지만 작동한다. (세상은 늘 그렇다)
🛰️ 3단계 — Pro 버전: 실시간 화면 캡처(여기서 진짜 오래 걸림)
Free 버전은 자막 텍스트 붙여넣기 방식이었다.
Pro 버전은 욕심을 더 냈다.
로컬 비디오 + 시스템 오디오 실시간 캡처
화면 보면서 자막 생성
강의 끝나면 자동으로 학습자료 생성
이 부분이
✅ 제일 오래 걸렸고
✅ 제일 힘들었고
✅ 제일 보람 있었다
그때 느꼈다.
“아… 이게 진짜 ‘강사용 자동화’다.”
📦 Gumroad 출시: Free + Pro 전략
처음부터 “무료로 다 풀자!”는 생각은 없었다.
Free 버전 (HuggingFace Spaces): 자막 텍스트 붙여넣기
Pro 버전 (Gumroad $9): 로컬 설치 + 실시간 화면·오디오 캡처
구조는 단순했다.
Free로 가치를 증명하고,
Pro는 “진짜 자주 쓰는 사람”을 위한 깊은 기능.
Gumroad 올리는 것도 처음이라
상품 설명 한국어/영어로 쓰고, 스크린샷 찍고, 가격 고민하고…
올리는 내내 이 생각만 했다.
“이거… 누가 살까?”
근데 막상 올리고 나니까 묘하게 뿌듯했다.
내가 만든 도구가 세상 밖으로 나갔다.
🎓 배운 것들 (삽질 요약본)
이 프로젝트로 진짜 배운 것들:
MVP는 못생겨도 된다
첫 버전은 솔직히… 나도 안 쓰고 싶었다.
근데 그게 없었으면 다음 버전도 없다.HuggingFace는 로컬과 다른 행성이다
“내 컴퓨터에서는 됐는데요?”는 주문이 아니라 저주다.Gemini API는 생각보다 강력하다
프롬프트만 잘 짜면, 진짜 ‘강의 자료 구조화’를 해준다.작은 도구도 수익화 될 수 있다
“이런 거 누가 사?”라고 생각하던 것들이
의외로 “바로 내가 필요하던 거”가 된다.
💭 마치며
Dark Moon Study Report는
내 첫 번째 AI 도구 출시였다.
힘들었다.
HuggingFace랑 씨름하느라 밤샌 날도 있었고,
f-string 버그 하나 잡느라 2시간을 태운 날도 있었다.
근데… 재미있었다.
“아이디어를 코드로,
코드를 제품으로,
제품을 수익으로.”
이 흐름을 처음으로 직접 경험했다.
다음 도구는 더 빠르게 만들 수 있을 것 같다.
이미 함정들을 알고 있으니까.
(중괄호는 이제 내 친구…는 아니고, 최소한 얼굴은 안다)
그리고 어쩌면, 이런 개발기도 결국은 같은 얘기다.
학생에게 ‘자료’를 주기 전에, 강사에게 ‘숨 쉴 시간’을 주는 일.
🔗 링크
🔗 무료로 써보기:
🛒 Pro버전 구매:
🌙 AI 도구 추천:
—
달의이성(reasonofmoon) | 강사이자 AI 도구 개발자
이 노트는 보도·비평·교육·연구 목적으로 작성되었습니다. 저작권 문의가 있으시면 에서 알려주세요.
