사업 개요
사업 목적
영화 선택 피로도와 반려견 산책 경로 탐색의 불편함을 AI 기술로 해결한다. 두 도메인을 하나의 모듈러 모놀리식 플랫폼에 통합하여 공통 인프라(인증·크롤링·AI)를 공유하면서도 독립적으로 확장할 수 있는 구조를 구축한다.
| 구분 | 문제 | 해결 |
| 영화 추천 | 수천 편 중에서 취향에 맞는 작품을 고르는 데 시간이 들고, 챗봇은 없는 사실을 지어낸다 | 파인튜닝한 소형 모델이 도구를 골라 부르고, 사실은 데이터에서 가져와 답한다 |
| 산책 경로 | 그늘·경사·결빙·반려동물 장소를 고려한 경로를 찾기 어렵다 | 서울 전역 보행 그래프에 환경 점수와 건물 그림자를 입혀 상황별 경로 후보를 이유와 함께 제시한다 |
주요 사업 내용
Mova — AI 영화 추천 플랫폼
| 기능 | 내용 | 기술 |
| 채팅 에이전트 | 발화를 읽고 도구 10개 중 다음 행동을 고른다. 출연진·시간표·상영작·OTT는 코드 템플릿이 답한다 | EXAONE 3.5 2.4B LoRA(판단 모델 v9), 허브 공용 AgentLoop |
| AI 맞춤 추천 | 취향·조건에 맞는 3편과 추천 이유, GPU 장애 시 자동 폴백 | EXAONE 3.5 2.4B LoRA(GGUF Q5_K_M) + Gemini 폴백(서킷 브레이커) |
| 봤어요 · 별점 · 취향 | 채팅 한 문장으로 기록, 취향 기반 추천·비슷한 영화·취향 요약 | user_actions · reviews · 취향 벡터 |
| 에디터 리뷰 | 뉴스 요약으로 리뷰 자동 생성, 감정분석 별점, 출처 링크 표시 | Google News RSS → Gemini, EXAONE 감정분석 LoRA |
| 박스오피스 랭킹 | 일별/주간/월간 한국 박스오피스 집계 | KOFIC API |
| 예매 시간표 | 지역·날짜로 상영관과 회차 조회 | 카카오 로컬, 롯데시네마 시간표 |
| 개봉 예정작 | 한국 개봉 예정 영화 자동 갱신, 월별 그룹핑 | TMDB API |
| 카탈로그 | 영화 3,919편 · 배우 2만여 명 · 태그 1.3만 개 · RAG 문서 3,756건 | TMDB·KOFIC 배치 수집, pgvector HNSW(bge-m3 1024차원) |
| 컬렉션 · 찜 · 마이페이지 | 개인 컬렉션, 찜 목록, 추천 기록, 내 리뷰 | - |
Gildle — 반려견 산책 경로 추천
| 기능 | 내용 | 기술 |
| 보행 그래프 | 서울 전역 도보 네트워크 (노드 16만 · 간선 23만) | OpenStreetMap / osmnx |
| 환경 점수 | 가로수·공원(수관), 결빙 취약 지점, 고도(경사) | 서울 열린데이터, OSM, SRTM |
| 건물 그림자 | 건물 약 80만 동의 그림자를 월별 12벌 × 07~19시 13슬롯으로 사전 계산 | 브이월드 건물, 태양 위치 계산, shapely |
| 경로 후보 | 빠른·그늘·푸른·편한·언덕길 후보를 고를 이유와 함께 제시 | A* 가중 경로, 계절 모드 3종 |
| 문장 추천 | “40분 동안 3키로 편하게”, “동물병원으로 가는 최단 경로” | EXAONE 7.8B 이해 + 규칙 검증 |
| 반려동물 장소 | 경로 곁 동물병원·펫샵·애견카페, 누르면 들렀다 가는 길 | 카카오 로컬 API |
| 산책 기록 | 걸은 길 추적·저장·통계·삭제 | 웹 Geolocation / 앱 포그라운드 위치 |
| 웹 · 앱 | 같은 API, 같은 기능, 같은 표기 | Next.js + 네이버 지도 JS / Flutter + 네이버 지도 SDK |
플랫폼 공통 기능
| 기능 | 내용 |
| 모듈러 모놀리식 | Star Topology(Hub: ontology, Spoke: mova·gildle·viewer·analytics…), import-linter 의존 검사 |
| Clean Architecture | Hexagonal (Ports & Adapters), 의존 방향 바깥→안쪽, SOLID 원칙 |
| 에이전트 층 | 오케스트레이터(허브) → 에이전트(앱) → 도구 → 클라이언트. 학습한 2.4B가 도구를 고르고 사실은 코드 템플릿이 답한다 |
| 인증·보안 | OAuth 2.0 3사 + 이메일, httpOnly 쿠키 세션(BFF), IDOR 전수 수정(5건→0건), 관리자 RBAC |
| 데이터 파이프라인 | 수집(TMDB·KOFIC·뉴스) → AI 분석 → DB 저장 자동화, 스케줄러 |
| 온프레미스 운영 | 집 서버 + GPU 노트북 두 대에 k3s(앱 파드), DB·Redis는 집 서버 한 곳, 노트북이 꺼지면 집 서버가 자동으로 넘겨받음, Cloudflare Tunnel로 외부 연결. 프론트만 Vercel |
| S3 연동 | 사진·아바타 업로드, presigned URL 접근 |
기대 효과
| # | 효과 | 설명 |
| 1 | 영화 탐색 시간 단축 | 개인화 추천 + 취향 벡터 재정렬로 영화 선택 피로도 감소 |
| 2 | 지어내지 않는 챗봇 | 판단만 모델이 하고 사실은 데이터에서 — 없는 극장·상영 시간을 말하지 않는다 |
| 3 | 쾌적한 산책 경로 | 시간대별 그늘, 경사, 결빙 위험을 반영한 경로 후보 |
| 4 | 모듈러 확장성 | Star Topology로 새 도메인(앱) 추가 시 Hub만 import, 기존 Spoke 영향 최소화 |
| 5 | GPU 장애 내성 | LoRA 서버 실패 시 Gemini로 자동 전환(연속 2회 실패 → 60초 우회 → 자동 복귀) |
| 6 | 아키텍처 검증 | Port 추상화로 CSV→PostgreSQL 전환 시 도메인 코드 변경 0건 달성 |
| 7 | 외부 비용 없는 운영 | 집 서버 + 노트북 온프레미스 — 클라우드 서버 비용 없이 실서비스 |