시작은 작가 한 명을 위한 소설 뷰어, DeerDevil이었습니다. 한국의 어두운 동화풍 12화 연재물 한 편을 위해 직접 다듬은 웹 페이지였고, 전용 글자 디자인 · 사슴뿔 모양 구분선 · 타자기 호흡으로 흐르는 오프닝을 갖췄습니다. 한 시즌이 지나면서 이 디자인은 한 플랫폼의 시각 기준이 되었습니다. 작가가 /{author} 아래에 자기 슬러그를 잡고 평이한 한국어로 분위기를 묘사하면, 플랫폼이 AI로 만든 테마를 돌려주어 작품 화면에 그 분위기를 적용합니다. 원본 DeerDevil은 지금도 자기 슬러그에서 운영되고 있고, 다른 모든 작가 공간이 기준으로 삼는 본보기로 남아 있습니다.
제품은 세 영역으로 나뉩니다. 각 /{author} 아래 펼쳐지는 공개 작가 공간, 업로드 · 테마 편집 · 크레딧 · 에피소드 관리 · 통계를 모은 작가 대시보드, 그리고 독자가 작가들을 둘러보는 플랫폼 화면. 프론트엔드는 Next.js · React · TypeScript에 Tailwind CSS를 얹어 짰고, 백엔드는 NestJS 서비스이며, 인프라는 모두 Google Cloud 위에서 돌아갑니다 — 처음엔 Azure에서 출발했고, 클라우드를 통째로 갈아타는 이사도 혼자 치렀습니다.
작가가 자기 언어로 분위기를 묘사하면, 플랫폼이 색상 · 타이포그래피 · 레이아웃 · 장식을 담은 구조화 데이터로 바꿉니다. 신규 독자용 기본 설정으로는 미리 구성한 프리셋을 제공합니다.
원고는 작가들이 실제로 쓰는 모습 그대로 들어옵니다 — 마크다운, 일반 텍스트, 워드, 그리고 한국의 HWP 계열 형식까지 — 무엇이든 화면에 그려지기 전에 하나의 타입드 블록 구조로 고르게 정리됩니다. 독자 기능도 구현했습니다. 북마크, 새로고침에도 살아남는 회차별 진도, 구독, 좋아요, 답글이 이어지는 댓글, 그리고 계정 없이도 회차를 읽을 수 있는 시간제한 공유 링크까지.
AI 기능은 처음부터 방어적으로 설계했습니다. 테마 생성은 출력 형식을 강제하고, 소설 분석은 일관성 · 문체 · 캐릭터를 세 갈래로 검사합니다. 시간이 오래 걸리는 작업은 언제든 끊어 낼 수 있어서, 클라이언트가 취소를 누르는 그 순간 크레딧 환불이 먼저 처리됩니다. 분석 결과의 근거를 확인하기 위해 보고되는 모든 이슈는 본문에서 짧은 직접 인용을 함께 적도록 강제하고, 응답이 밖으로 나가기 전에 그 인용이 검증됩니다.
크레딧 가격은 매출이 AI 비용을 웃돌도록 안전 마진을 포함해 정합니다. 가격 테이블은 전담 비용 계산 에이전트가 맡고, 자동 검사로 수치를 다시 확인합니다.
결제 사업자가 merchant of record를 맡고, webhook은 멱등하게 처리되어 같은 알림이 두 번 와도 크레딧이 두 번 쌓일 수 없으며, 정산 검증 작업이 일정한 박자로 장부를 결제사와 다시 맞춰 보고, 플랫폼과 결제 API 사이에는 circuit breaker가 서 있어서 결제사 장애가 다른 기능으로 번지지 않도록 합니다.
Skills와 전문 하위 에이전트를 개발·테스트·조사·코드 및 디자인 검토에 사용합니다. 비용 마진, 크레딧 갱신의 원자성, 환불 처리, 비밀값 노출, 계획한 설정과 실제 배포 설정의 차이는 자동으로 검사합니다. 아키텍처 결정은 날짜와 함께 기록합니다.
지금도 운영되고 있습니다. 이 사이트도 같은 개발 방식으로 만들었습니다.




