프로젝트 배경
프로젝트 목표
1. 몰입형 경험: 캐릭터가 유저 페르소나 인식 및 역할 기반 호출
2. 다중 캐릭터 상호작용: 2-5명 캐릭터 간 대화 관찰/개입
3. 개인화: 커스텀 캐릭터, 시나리오, 프롬프트 스타일
주안점
1. LLM의 최신 API를 사용. 토큰 관리 최적화. (예. xAI의 stateful API, gemini의 interaction API)
2. 사용자가 다시 플랫폼으로 복귀하도록 하기 위한 기능 배치. 단, 과하지 않게.
3. 타겟 유저층의 취향에 맞는 프롬프팅
1. 몰입형 경험: 캐릭터가 유저 페르소나 인식 및 역할 기반 호출
2. 다중 캐릭터 상호작용: 2-5명 캐릭터 간 대화 관찰/개입
3. 개인화: 커스텀 캐릭터, 시나리오, 프롬프트 스타일
주안점
1. LLM의 최신 API를 사용. 토큰 관리 최적화. (예. xAI의 stateful API, gemini의 interaction API)
2. 사용자가 다시 플랫폼으로 복귀하도록 하기 위한 기능 배치. 단, 과하지 않게.
3. 타겟 유저층의 취향에 맞는 프롬프팅
핵심 기능



커스텀 프롬프트 시스템
AI 캐릭터 시스템에 없어서는 안될 프롬프트 커스텀 구현. 시나리오의 테마에 따른 자동 프롬프팅. 유저가 커스텀 할 수 있는 자유도를 확장.
감정/관계 및 메모리 시스템
메시지를 요약, 임베딩 하여 vector DB에 저장. 유사도를 사용해 메모리 로딩.
각 API의 stateful API를 사용해 대화 히스토리 자동 관리하여 토큰 비용을 최대 80% 이상 절감.
각 API의 stateful API를 사용해 대화 히스토리 자동 관리하여 토큰 비용을 최대 80% 이상 절감.
진행 단계
설계 및 기본 구현
2025.10.
FastAPI 프로젝트 구조 + SQLAlchemy 모델 설계
JWT 인증 + OAuth (Google) 구현
Expo 프로젝트 초기화 및 라우팅 설정
기본 CRUD API 구현
JWT 인증 + OAuth (Google) 구현
Expo 프로젝트 초기화 및 라우팅 설정
기본 CRUD API 구현
핵심 채팅기능 구현
2025.10.
Stateful API 통합 및 LLM 서비스 구현
실시간 채팅 UI (WebSocket + Redis Pub/Sub)
캐릭터/시나리오 생성 기능
프롬프트 빌더 및 템플릿 시스템
실시간 채팅 UI (WebSocket + Redis Pub/Sub)
캐릭터/시나리오 생성 기능
프롬프트 빌더 및 템플릿 시스템
다중 캐릭터 지원
2025.11.
Orchestrator Service (다중 캐릭터 시뮬레이션)
다중 캐릭터 세션 이후 동기화 (요약 → 캐릭터 메모리 주입)
다중 캐릭터 세션 이후 동기화 (요약 → 캐릭터 메모리 주입)
디자인 개선 및 QA
2025.12.
디자인 개선, i18n 다국어 지원, SEO 최적화, 코드 리뷰 및 리팩토링
프로젝트 상세
배경
기존 AI 챗봇 서비스(Character.AI 등)는 1:1 대화에만 한정되어 유저가 없으면 세계가 멈추는 한계가 있었습니다
. "내가 말을 걸지 않으면 세상이 멈춘다"는 문제를 해결하고자, 캐릭터가 유저의 역할을 인식하고 먼저 호출하는
역소환 시스템을 설계했습니다.
주요 업무
풀스택 개발 (1인 개발). 기획/설계부터 배포까지 전 과정 담당
Backend 개발
- FastAPI 기반 REST API 엔드포인트를 설계하고 Pydantic V2 스키마 검증을 적용
- SQLAlchemy 2.0 비동기 ORM으로 모델을 설계
- xAI/Gemini/OpenRouter 멀티 프로바이더 Factory 패턴과 Stateful API를 연동
- 했습니다. WebSocket과 Redis Pub/Sub 아키텍처로 멀티 워커 동기화를 구현
- JWT 토큰 인증, OAuth 2.0 (Google), bcrypt 해싱, 레이트 리미팅으로 인증/보안을 구현
- Replicate API 연동으로 AI 이미지를 생성하고 Cloudflare R2 스토리지에 저장
- Firebase Admin SDK로 FCM/APNs 푸시 알림을 연동했습니다.
Frontend 개발
- React Native (Expo)와 Expo Router 파일 기반 라우팅으로 앱 아키텍처를 구성
- 했습니다. Zustand 스토어를 설계하고 Immer로 불변성을 관리
- WebSocket 연결 관리, 메시지 버블, 감정 게이지 컴포넌트로 실시간 채팅 UI 구현
- 캐릭터/시나리오 생성 다단계 폼과 이미지 업로드 기능을 구현
- i18n-js로 한국어/영어 다국어 설정을 지원
- NativeWind로 다크/라이트 모드 동적 전환 테마 시스템을 구현
- Playwright로 E2E 테스트를 작성했습니다.
핵심 서비스 개발
- Orchestrator Service로 다중 캐릭터 시뮬레이션 엔진과 턴 기반 대화 관리를 구현
- Prompt Builder로 구조화된 프롬프트 생성과 문체/포맷 템플릿 시스템을 개발
- Summon Service로 역소환 트리거 로직과 유저 페르소나 인식을 구현
- Session Clone Service로 response_id 기반 대화 분기(Branch) 기능을 개발
성과 지표
API 엔드포인트 33개, DB 모델 34개, Frontend 스토어 25개, Backend 서비스 15개, 지원 LLM 엔드포인트 3종(xAI, Gemini, OpenRouter), 개발 기간 6주 (1인 개발)
기존 AI 챗봇 서비스(Character.AI 등)는 1:1 대화에만 한정되어 유저가 없으면 세계가 멈추는 한계가 있었습니다
. "내가 말을 걸지 않으면 세상이 멈춘다"는 문제를 해결하고자, 캐릭터가 유저의 역할을 인식하고 먼저 호출하는
역소환 시스템을 설계했습니다.
주요 업무
풀스택 개발 (1인 개발). 기획/설계부터 배포까지 전 과정 담당
Backend 개발
- FastAPI 기반 REST API 엔드포인트를 설계하고 Pydantic V2 스키마 검증을 적용
- SQLAlchemy 2.0 비동기 ORM으로 모델을 설계
- xAI/Gemini/OpenRouter 멀티 프로바이더 Factory 패턴과 Stateful API를 연동
- 했습니다. WebSocket과 Redis Pub/Sub 아키텍처로 멀티 워커 동기화를 구현
- JWT 토큰 인증, OAuth 2.0 (Google), bcrypt 해싱, 레이트 리미팅으로 인증/보안을 구현
- Replicate API 연동으로 AI 이미지를 생성하고 Cloudflare R2 스토리지에 저장
- Firebase Admin SDK로 FCM/APNs 푸시 알림을 연동했습니다.
Frontend 개발
- React Native (Expo)와 Expo Router 파일 기반 라우팅으로 앱 아키텍처를 구성
- 했습니다. Zustand 스토어를 설계하고 Immer로 불변성을 관리
- WebSocket 연결 관리, 메시지 버블, 감정 게이지 컴포넌트로 실시간 채팅 UI 구현
- 캐릭터/시나리오 생성 다단계 폼과 이미지 업로드 기능을 구현
- i18n-js로 한국어/영어 다국어 설정을 지원
- NativeWind로 다크/라이트 모드 동적 전환 테마 시스템을 구현
- Playwright로 E2E 테스트를 작성했습니다.
핵심 서비스 개발
- Orchestrator Service로 다중 캐릭터 시뮬레이션 엔진과 턴 기반 대화 관리를 구현
- Prompt Builder로 구조화된 프롬프트 생성과 문체/포맷 템플릿 시스템을 개발
- Summon Service로 역소환 트리거 로직과 유저 페르소나 인식을 구현
- Session Clone Service로 response_id 기반 대화 분기(Branch) 기능을 개발
성과 지표
API 엔드포인트 33개, DB 모델 34개, Frontend 스토어 25개, Backend 서비스 15개, 지원 LLM 엔드포인트 3종(xAI, Gemini, OpenRouter), 개발 기간 6주 (1인 개발)

페이지 홈. 카드 그리드로 다양한 몰입형 시나리오 목록과 탭으로 캐릭터 목록 선택

진행 중인 채팅 세션 목록. 썸네일, Active 상태 배지, 이름 변경/삭제 옵션 모달 제공

실시간 채팅 화면. AI 캐릭터와 대화 중. 상단 감정 게이지(호감도/신뢰도), 메시지 타임스탬프 표시

시나리오 상세 화면. 캐릭터 선택 UI, 각 캐릭터별 호감도/신뢰도 게이지, 채팅 이어하기

캐릭터 생성 폼. 성격/시스템 프롬프트 입력, AI 아바타 생성(5종 스타일 선택) 기능

시나리오 생성 폼. 설명/배경/초기상황 입력, 기존 캐릭터 다중 선택 가능

사용자 프로필 대시보드. 활성 채팅/세션 통계, 페르소나/소환/로어북 설정 메뉴

전체 설정. 페르소나, LLM 모델, 프롬프트, 언어, 다크테마, 데이터 내보내기 옵션

프롬프트 커스터마이징. 문체(웹소설/라노벨 등), 캐릭터 포맷(대화형/구조화 등) 선택



