빼꼼은 물활론적 사고에 기반한 사물과의 대화 서비스입니다.
주변 사물을 촬영해 의인화하여 움직이게 만들고, 음성으로 대화하며 아이에게는 친구를, 대화를 기반으로 분석 리포트를 생성하여 부모님에게는 육아 파트너를 만들어드리는 모바일 서비스입니다.
아이별 프로필, 대화 시간, 성장 리포트, 대화·교육 가이드를 통해 아이의 변화와 감정 흐름을 확인할 수 있습니다.
물활론적 사고: 모든 사물에 생명이 깃들어 있다고 생각하는 유아기 아이들의 사고 특성
![]() |
![]() |
![]() |
- 사물 촬영:
React Native Vision Camera로 사물을 촬영하거나 앨범에서 이미지를 선택합니다. - 객체 후보 추출: Ultralytics
SAM(sam_b.pt)으로 캐릭터화할 사물 영역을 탐지합니다. - 캐릭터 이미지 생성:
gpt-image-1.5edit API로 사물 기반 캐릭터 이미지를 생성합니다. - 배경 제거:
ZhengPeng7/BiRefNet으로 생성된 캐릭터의 배경을 제거합니다. - 얼굴 파츠 추출:
IDEA-Research/grounding-dino-base,facebook/sam-vit-base,SimpleLama를 활용해 표정 애니메이션에 필요한 얼굴 파츠와 몸통 이미지를 생성합니다. - 성격·말투 부여:
gemini-2.5-pro로 사물의 특징에 맞는 성격, 말투, 음성 타입을 생성합니다. - 생성 제한 관리: Redis를 사용해 사용자별 일일 캐릭터 생성 횟수를 관리합니다.
![]() |
![]() |
![]() |
![]() |
![]() |
- 음성 인식:
Qwen/Qwen3-ASR-1.7B로 아이의 음성을 텍스트로 변환합니다. - 실시간 자막 미리보기: Google Cloud Streaming STT와 WebSocket으로 아이가 말하는 내용을 실시간으로 표시합니다.
- 캐릭터 맞춤 응답:
gpt-4o로 아이 프로필, 캐릭터 성격, 말투, 비밀 프롬프트, 이전 발달 리포트를 반영한 답변을 생성합니다. - 음성 합성: Google Cloud TTS의
gemini-3.1-flash-tts-preview로 캐릭터 답변을 음성으로 변환합니다. - SSE 기반 응답 전달: 대화 처리 결과와 상태 변화를 Server-Sent Events로 앱에 전달합니다.
- 스마트싱스 연동: Samsung SmartThings를 통해 대화 분위기에 맞춰 조명을 제어합니다.
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
- 주간 리포트 자동 생성: Scheduler가 종료된 대화 세션을 모아 주간 성장노트를 생성합니다.
- 언어 발달 분석: MLU, 문장 완성도, 맥락 이해도, 또래 평균 비교 지표를 제공합니다.
- 정서 분석: 아이 발화의 감정 TOP 3와 감정 요약을 리포트에 반영합니다.
- 단어 빈도 시각화: 아이가 자주 사용한 단어를 워드클라우드로 보여줍니다.
- 대화·교육 가이드: 관찰된 모습, 대화 한 스푼, 놀이 한 스푼처럼 보호자가 바로 활용할 수 있는 가이드를 제공합니다.
S14P31B108
├── ai/ # FastAPI AI 서버
│ ├── app/core/ # 설정, DB/Redis, 예외, executor, 모델 preload
│ ├── app/domains/
│ │ ├── chat/ # STT-LLM-TTS 대화 처리, embedding, 요약, preview streaming
│ │ ├── stt/ # 음성 인식
│ │ ├── tts/ # 음성 합성
│ │ ├── vision_detector/ # 사물 후보 탐지
│ │ ├── vision_generator/ # 캐릭터 이미지 생성
│ │ ├── character_generation/
│ │ ├── character_persona/
│ │ └── report_service/ # 리포트 분석 및 가이드 생성
│ └── evals/ # AI 평가 스크립트
├── backend/ # Spring Boot API 서버
│ ├── src/main/java/com/samulnori/bbaekkom/
│ │ ├── config/ # Security, Redis, S3, WebClient, WebSocket 설정
│ │ ├── common/ # 공통 응답, 예외, util, enum
│ │ └── domain/
│ │ ├── auth/ # OAuth 로그인, JWT 재발급, 로그아웃
│ │ ├── profile/ # 아이 프로필
│ │ ├── character/ # 캐릭터, 표정, 도감, 비밀 프롬프트
│ │ ├── objectcandidate/# 사물 후보 탐지 및 S3 저장
│ │ ├── chat/ # 대화 세션, 메시지, SSE, WebSocket preview
│ │ ├── report/ # 주간/일일 리포트
│ │ ├── smartthings/ # SmartThings OAuth, 기기, 명령 실행
│ │ └── user/ # 사용자/알림/PIN
│ └── src/main/resources/db/ # Flyway migration, testdata
├── frontend/ # React Native 모바일 앱
│ ├── src/api/ # Backend API 클라이언트
│ ├── src/screens/ # 인증, 홈, 촬영, 광장, 대화, 리포트, 설정 화면
│ ├── src/components/ # 기능별 UI 컴포넌트
│ ├── src/hooks/ # React Query 및 화면 로직 hook
│ ├── src/store/ # Zustand 전역 상태
│ └── src/assets/ # 이미지, 아이콘, 폰트, 오디오
├── infra/ # Docker Compose, Nginx, monitoring, 배포 스크립트
├── exec/ # 빌드/배포 매뉴얼, 시연 시나리오, DB SQL, 시연 이미지
├── docs/ # 요구사항, API 명세서, ERD, 와이어프레임 PDF
└── asset/image/ # 시스템 아키텍처 및 ERD 이미지
docker compose --env-file .env -f infra/docker-compose-local.yml up -d --buildcd backend
./gradlew bootRuncd ai
pip install -r requirements/base.txt -r requirements/ai_core.txt
uvicorn app.main:app --host 0.0.0.0 --port 8000cd frontend
npm install
npm start
npm run android| 이름 | 담당 역할 |
|---|---|
| 남우성 | BE / AI |
| 이가은 | BE / AI |
| 천보성 | BE / AI |
| 변채원 | FE / AI |
| 박정훈 | BE / Infra |
| 김은주 | Data / Infra |

















