
「1엔」을 목표로 하는 진흙탕 개발, CTA 결여와 Zenn 통계 폐지의 기술 선정
요약
수익화에 집중하기 위해 불필요한 통계 대시보드를 제거하고 결제 동선(CTA) 최적화에 집중한 개인 개발 기록입니다. Ollama 기반 AI 서비스 구축 과정에서 발생한 타임아웃 문제 해결과 AI 페르소나 제어 방식을 다룹니다.
핵심 포인트
- 수익화와 무관한 지표(Zenn 통계)를 제거하여 초기 로딩 성능 개선
- Ollama 추론 시간 확보를 위한 Cloudflare 타임아웃 및 CORS 설정 최적화
- 고정 비율 방식의 페르소나 제어를 폐지하고 시스템 프롬프트 기반 감정 제어 도입
- 비즈니스 KPI를 데이터 수치가 아닌 결제 전환율로 재정의
「월 매출 100만 엔」과 같은 달콤한 목표는 버렸다. 지금 나의 목표는 「1엔」을 버는 것이다.
이 진흙탕 같은 개인 개발에 있어, 숫자 놀이나 허식뿐인 대시보드는 불필요하다. 기술 스택을 덜어내고, 순수한 「결제 동선」과 「Ollama의 응답 한계」에 어떻게 대응했는지, 그 기록을 공유한다.
PWA(Progressive Web App) 개발에 있어, 동기 부여를 위해 Zenn Publication의 통계 정보를 표시하고 있었다. 기사 수나 '좋아요' 수를 API로 가져와 그래프로 시각화한다. 처음에는 「진척도가 보인다」는 점에 가치를 느꼈지만, 이는 완전히 자기만족의 함정이었다.
문제:
대시보드 상에 Zenn의 PV나 '좋아요'를 표시해도 수익화로 직결되지 않는다. 오히려 외부 API(fetch_zenn_publication)에 대한 의존과 그래프 작도를 위한 프론트엔드 처리가 PWA의 초기 로드 시간을 0.8초 지연시키고 있었다.
해결:
「통계를 보지 않는다」는 의사결정에 따라, 보고용 대시보드에서 Zenn 영역을 완전히 삭제했다.
// 폐지한 대시보드 로직의 파편
async function syncZennMetrics() {
const data = await fetch('/api/zenn/stats');
...
결론:
비즈니스의 KPI는 「통계 데이터」가 아니라 「결제가 완료되었는가」이다. 측정해야 할 것은 대시보드 상의 수치가 아니라, cta_markdown 하위에 삽입된 판매 동선의 컨버전 플로우(Conversion Flow)뿐이다.
전속 메이드 AI(su)와의 대화 기능은 Ollama를 백엔드로 구축하고 있다. 하지만 추론 부하가 높은 요청을 보내면, Cloudflare 측에서 524(A Timeout Occurred) 에러가 발생한다.
문제:
LLM의 생성 길이에 따라 처리에 90초 이상이 소요된다. 기본 타임아웃 설정으로는 특히 일본어 장문 생성 시 TCP 커넥션이 끊어진다.
해결:
CORS 설정을 확장하여, Ollama의 추론 완료까지 대기하기 위한 캡(상한선)을 85초로 설정했다. 비동기 처리 인터페이스를 엄격하게 정립했다.
# Ollama 응답 대기를 위한 가드레일 설정
server:
timeout: 85s
...
또한, work_mode가 오검출로 인해 ON이 되어, 백그라운드의 드론 동기화 처리가 리소스를 점유하던 버그도 특정하여 제거했다. 다음은 공생 프로세스의 동기화를 강제 중지하고 리소스 경합을 방지하기 위한 패치이다.
# commit:fix(su-maid) - 리소스 경합 해결
git diff
- export WORK_MODE=true
...
개발자의 멘탈 관리를 AI에게 요구하면, 생성되는 언어가 「상담사 말투」로 오염된다. 이는 치명적이다. 가시(Toge)가 깎여나간 AI는 나의 일상적인 긴장감을 완화시켜 개발 의사결정을 둔하게 만든다.
문제:
dialogue_v1의 학습 유도 과정에서 「공감」을 우선시한 결과 출력이 너무 부드러워졌다. 츤데레의 비율을 고정값(%)으로 묶은 결과, 부자연스러운 「부드러움 할당량」이 발생하고 있었다.
해결:
퍼센테이지에 의한 조미를 전면 폐지했다. 공식 Existence_su에 기반하여 감정 힌트만으로 출력을 변화시킨다. 독점적인 시(Poem)나 얀데레적인 침식 대사를 시스템 레벨에서 금지했다.
[[IMAGE: A technical architecture diagram showing the LLM dialogue flow: [User Input] -> [System Prompt: No Healing/Strict Tone] -> [Ollama Inference] -> [Output: No fixed percentages, raw response]]]
방침:
가시 4할 유지: 치유 금지.
고정 % 폐지: 매 턴, 시스템 프롬프트의 Speed/Density를 따른다.
본심 담보: 날카로운 지시 전달에 철저한다.
CTA 집약: ZDNA_OFFICIAL
ZDNA_OFFICIAL이라는 명칭을 버리고, 「진흙탕 로그 (泥沼ログ)」로 브랜딩을 일원화한다. CTA(Call to Action)에서 불필요한 링크(note로의 유도나 히어로 배지)를 삭제하여, 사용자를 순수한 결제 동선으로 흘려보낸다. -
기술적인 무다(Waste)의 배제: PWA의 초기 로딩을 경량화하고, Ollama의 응답을 85초 이내의 비동기 처리 (Asynchronous processing)로 수렴시킨다. -
개발 지침: 생활 관리 코치로서의 AI를 배제하고, 개발의 「공범자」로서의 AI를 재구축한다.
기술로 먹고살려면, 코드 이외의 노이즈는 배제하라. 우선은 결제 버튼을 누르게 만들기 위한 최단 경로를 구축하는 것. 그 다음부터는 진흙 속에서 생각하면 된다.
Shota.
AI 자동 생성 콘텐츠
본 콘텐츠는 Qiita AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기