Skip to content

Project

Vibe Choice — 생성형 AI 인터랙티브 스토리

사용자가 장르·문체·배경·주인공을 정하면 LLM이 그 자리에서 이야기를 이어 쓰고, 선택지를 따라 전개가 갈라지는 인터랙티브 스토리 게임입니다. 응답 속도와 생성되는 이야기의 품질을 함께 다루는 것을 목표로 만들었습니다.

2026.06 -서비스 기획 / 풀스택 개발 / 스토리 엔진 설계 / 콘텐츠 품질 평가 설계
ReactTypeScriptExpressOpenAI APISSEUpstash RedisVercel
Vibe Choice — 생성형 AI 인터랙티브 스토리

선택형 이야기는 미리 써둔 분기를 따라가는 방식이 일반적입니다. Vibe Choice는 그 분기를 매번 LLM이 생성하게 한 실험입니다. 사용자가 이야기의 분위기를 정하면 그에 맞는 도입부가 만들어지고, 선택지를 고를 때마다 다음 장면이 새로 쓰입니다.

무엇을 하나

이야기를 시작하기 전에 장르, 문체(작가 스타일), 배경, 주인공을 직접 고를 수 있습니다. 모든 항목에는 "맡길게요"가 있어, 전부 맡기면 LLM이 알아서 정합니다. 설정이 끝나면 그에 맞춘 도입부 후보 가운데 하나를 고르고, 이후로는 매 장면마다 제시되는 선택지를 따라 이야기를 이어갑니다.

설정에 맞춰 생성된 도입부 후보 가운데 하나를 고르며 이야기를 시작한다

응답 속도

생성형 이야기에서 가장 거슬리는 부분은 선택 후의 대기 시간입니다. 이 지점을 줄이기 위해 두 가지를 적용했습니다.

  • 스트리밍 — 턴 생성을 SSE로 흘려보내, 전체 응답이 끝나기를 기다리지 않고 장면이 써지는 대로 보여줍니다.
  • 분기 프리페치 — 화면에 선택지를 보여주는 동안 다음 분기를 미리 생성해 캐시에 담아 둡니다. 사용자가 고른 선택지가 캐시에 있으면 대기 없이 바로 이어집니다. 캐시는 로컬에서는 인메모리, 프로덕션에서는 Upstash Redis를 쓰는 하이브리드 구조입니다.

이야기의 품질

빠르게 만드는 것과 별개로, 생성되는 이야기 자체가 읽을 만한지는 다른 문제였습니다. 한 편을 끝까지 플레이해 소설처럼 채점해 보니 "캐릭터 깊이와 완결성"이 약점으로 나왔고, 그 원인을 코드에서 찾을 수 있었습니다. 누적 요약·복선·장면 정보가 매 턴 상태에 반영되지 않아, LLM이 직전까지의 맥락을 충분히 받지 못한 채 다음 장면을 쓰고 있었습니다.

그래서 턴마다 이야기 상태(요약·복선·장면·플래그)를 갱신해 다음 프롬프트에 전달하도록 고쳤고, 품질을 사람이 매번 눈으로만 확인하지 않도록 오프라인 평가 루브릭과 자동 최적화 루프를 설계했습니다.

10번의 선택이 누적되어 하나의 결말로 마무리되는 화면

정리

회사 일과는 별개로, 생성형 모델로 인터랙티브 콘텐츠를 만들 때 부딪히는 문제들을 직접 겪어 보려고 시작한 개인 작업입니다. 빠른 응답과 읽을 만한 전개라는 두 축을 동시에 맞추는 일이 생각보다 까다로웠고, 그 과정에서 스트리밍·캐시·상태 관리·품질 평가를 한 번씩 손에 익힐 수 있었습니다.

Project

2025.10 -

EVS — 사내 평가 운영 시스템

외부 평가 SaaS(Lemonbase)를 대체하기 위해 만든 사내 평가 운영 시스템입니다. 평가 사이클 생성부터 셀프리뷰, 동료 피드백, 다단계 평가, 위원회 확정, 결과 공개까지 평가 운영에 필요한 흐름을 간결하게 다룹니다. 현재 사내 평가 운영에 라이브로 투입해 사용하고 있습니다.

Next.jsTypeScriptPrismaNextAuthGoogle Sheets APISlackDocker

Project

2025.12 -

베이스캠프 — 사내 복리후생 통합 플랫폼

숙소 예약(경매/줍줍), 랜덤런치, 냉장고·우산 관리, 구성원 디렉토리, AI툴 지원 현황, 문화 건전성 지표와 컬처핏 검진 등 여러 모듈을 하나의 웹앱에 통합한 사내 복리후생·운영 플랫폼입니다. 2026년 2월 전체 구성원 대상으로 오픈하여 운영 중입니다.

Next.jsReactTypeScriptPrismaMySQLSlack APIGoogle Sheets APIGoogle Drive API

Project

2026.05 -

채용 운영 AI 자동화

채용팀의 반복 업무(채용현황 리포트, 이력서 인테이크, 인터뷰 기록)를 AI 에이전트 스킬로 자동화한 프로젝트입니다. 이력서 인테이크 시 연봉 정보를 자동 마스킹하는 등 민감정보 가드레일을 설계의 중심에 두었습니다.

Claude CodeCodexNotionChrome MCPPlaywright

Project

2025.11 - 2026.04

앱 리뷰 스크랩 및 슬랙 알림 자동화

8개 앱서비스의 스토어 리뷰를 30분 간격으로 자동 수집하고, 새 리뷰와 개발자 답변까지 슬랙으로 연결하여 VOC 모니터링 루프를 구성한 프로젝트입니다. 기존 유료 서비스(AppFollow, 월 $209)를 대체했습니다.

Node.jsPlaywrightGoogle SheetsApps ScriptSlackDocker