🌱 소개
시도하고자 했던 것과 그 이유
논문을 써 본 사람은 안다. 가장 힘든 건 통계도, 글쓰기도 아니다. "오늘은 뭐부터 손대지?" — 그 막막함이다.
데이터는 쌓여 있다. 자료도 충분하다. 그런데 화면 앞에 앉으면, 어디까지 왔는지조차 흐릿하다. AI와 대화로 작업하다 보면 다음 날엔 또 처음처럼 설명을 반복하고 있다. 진행 상황은 휘발되고, 단계는 흩어지고, 무엇보다 "잘하고 있다"는 한마디가 없다.
그래서 만들기로 했다. 논문 아이디어부터 발표까지, 매 단계를 함께 걸어주고 결과물을 파일로 뽑아주는 나만의 웹앱. 거창한 SaaS가 아니다. 내가 현재 구독 중인 클로드 요금제 안에서, 추가 결제 없이 돌아가는 개인 맞춤형 도구다.
핵심 철학은 하나다. AI는 내 생각을 대신하지 않는다. 인지적 부담을 덜어, 내가 더 깊은 사고와 완주에 집중하게 한다. AI를 세컨드 브레인으로 '어떤 방향으로 활용하느냐'의 문제다.
[📸 화면 캡처 삽입 위치 ① : 완성될 대시보드 메인 화면(진행률 게이지 + 격려 메시지)]
🧭 진행 방법
어떤 도구를 사용했고, 어떻게 활용했나
사용 도구
Claude (Opus) — 기획·설계 파트너 겸, 앱 안에서 작동할 'AI 코치'
Claude 아티팩트(Artifact) — claude.ai 대화창 안에서 바로 실행되는 웹앱. 별도 서버·설치·API 키가 없다. 그래서 구독만으로 작동한다.
활용 흐름 — "코드보다 PRD부터"
처음엔 바로 "웹앱 만들어줘" 하고 싶었다. 하지만 한 박자 멈췄다. 비개발자가 막연한 요청을 던지면, 막연한 결과가 돌아온다. 그래서 먼저 PRD(제품 요구사항 정의서)를 함께 작성했다. 무엇을·왜·어떻게 만들지 한 장으로 정리하니, 그제야 그림이 또렷해졌다.
작업은 이렇게 흘렀다.
PRD 작성 — 9단계 워크플로우(아이디어 → 결론), 발표 시나리오·PPT, 내보내기(Word·PDF·PPT) 정의
설계 근거 문헌 검증 — '쓸수록 능력이 올라가는' 구조의 학술적 토대를 실제 논문으로 확인
HTML 아티팩트로 1차 개발 착수 — 대시보드 + 단계 작업 + 자동 저장부터
사용한 프롬프트 전문
PRD를 끌어낸 핵심 프롬프트는 이것이었다. (장황하지 않게, 무엇을·어떤 환경에서를 분명히 한 게 포인트다.)
지금까지 나와 상호작용한 내용을 토대로 나에게 맞춤형 논문자동화 에이전트
대시보드형 HTML로 웹앱 만들려고 해. 최신 디자인으로, 사용할 때마다 업무 능력이
올라가는 상호작용형 웹앱을 구성하자.
논문이라는 과정을 잘 마치기 위해 사용자를 격려하고, 지금까지 진행한 내용에 대해
피드백과 앞으로 할 과정을 보여주면서 시작하자.
논문의 아이디어부터 결론, 논문 발표 시나리오, 논문 발표용 PPT, 논문 원고 PDF·Word
각각 파일을 원하는 대로 다운받을 수 있게 하자.
내가 쓰는 개인 맞춤형 웹앱이니까, 내가 현재 구독하고 있는 클로드 요금제로 사용할 수
있게 해줘. 이를 위한 PRD를 작성해줘. 복잡하지 않고 직관적으로 구성해줘.💡 프롬프트 꿀팁: 마지막의 "현재 구독 요금제로", "복잡하지 않고 직관적으로" 이 두 줄이 결과를 완전히 바꿨다. 제약 조건을 명시하면, AI가 과한 설계로 새지 않는다.
핵심 구조 미리보기 (코드)
앱은 세 개의 기둥으로 돌아간다 — ① AI 코칭 ② 자동 저장 ③ 파일 생성. 이 중 ①②의 뼈대를 옮기면 이렇다. (외부 키 없이, 아티팩트 안에서 작동)
javascript
// ① AI 코치 호출 — 현재 클로드 구독으로 작동 (별도 API 키 불필요)
async function askCoach(stageName, myDraft) {
const res = await fetch("https://api.anthropic.com/v1/messages", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({
model: "claude-sonnet-4-20250514",
max_tokens: 1000,
messages: [{
role: "user",
content: `당신은 따뜻하고 전문적인 논문 코치입니다.
"${stageName}" 단계입니다. 아래 초안을 저자의 부드럽고 지적인 문체를 살려 다듬고,
더 깊이 발전시킬 질문 2가지를 제안하세요.
[초안]
${myDraft}`
}]
})
});
const data = await res.json();
return data.content.map(b => b.text || "").join("\n");
}
// ② 자동 저장 — 껐다 켜도 복원 (논문 한 편 단위)
async function saveProgress(paper) {
await window.storage.set("paper:current", JSON.stringify(paper));
}
async function loadProgress() {
const r = await window.storage.get("paper:current");
return r ? JSON.parse(r.value) : null;
}🎯 결과와 배운 점
배운 점, 꿀팁, 시행착오, 도움이 필요한 부분, 앞으로의 계획
결과
아직 완주는 아니다. 지금은 PRD 확정 → 1차 개발(대시보드·9단계·자동 저장) 착수 단계다. 하지만 머릿속에만 있던 막연한 바람이 눈에 보이는 설계서가 되니, 그 자체로 절반은 끝난 기분이다.
배운 점 & 나만의 꿀팁
만들기 전에 PRD부터. 비개발자일수록 더 그렇다. 한 장의 설계서가 수십 번의 헛수정을 막는다.
제약을 먼저 말하라. "구독 안에서, 복잡하지 않게"라는 한 줄이 결과물의 방향을 잡았다.
참고문헌은 반드시 교차검증. AI는 그럴듯한 가짜 출처(환각)를 만들 수 있다. 이번 PRD의 설계 근거 논문 3편은 직접 서지정보를 확인하고 넣었다. 이건 타협하면 안 되는 지점이다.
추가 비용 0원. 아티팩트는 별도 서버·API 결제 없이 구독으로 돈다. 개인용 도구엔 이만한 가성비가 없다.
시행착오 (그리고 미리 대비한 것)
한글 PDF 깨짐 위험. 브라우저 PDF 생성기는 한글 폰트가 없으면 글자가 깨진다. → 한글 폰트(Noto Sans KR 등)를 앱에 미리 심는 것으로 대비.
AI 응답은 '한 덩어리씩'. 아티팩트 안 AI는 한 번에 만드는 분량에 한계가 있다. → 오히려 섹션별·단계별로 쌓는 논문 작업과 잘 맞아, 약점을 구조로 바꿨다.
도움이 필요한 부분 🙏
아티팩트 안에서
.docx(Word) 안정적으로 생성한 경험이 있으신 분의 노하우한글 폰트 임베딩으로 PDF 깨짐을 깔끔히 잡은 사례
영구 저장(
window.storage) 용량·동기화 관련 실전 팁