Skip to content
@KakaoTech-14-All-in-one-move

kakaotech-Pitching

Pitching은 "모두가 편하게 소통하고, 자신있게 말하며 연결된 세상을 만들자." 라는 생각으로 탄생한 플랫폼입니다.

iScreen Shoter - Preview - 250108160251

Pitching! (Speaking + Teaching = Pitching)

🎤 Speak, Easy! 자신 있게 말하세요!

"Pitching!"은 "모두가 편하게 소통하고, 자신있게 말하며 연결된 세상을 만들자." 라는 모토를 가지고 만든 플랫폼입니다. 발표를 준비하고 연습하는 과정에서 사용자의 발표 태도, 시선 처리, 음성 톤 등을 분석하여 즉각적이고 실질적인 개선 포인트를 제공합니다. 또한 채팅, 화상 & 음성통화 기능을 통해 현대인의 발표 능력 향상과 원활한 커뮤니케이션을 지원합니다.


🎯 서비스 목표

  • 서비스 비전: "모두가 편하게 소통하고, 자신 있게 말할 수 있는 환경을 제공하여 발표 불안을 극복하고 소통에 대한 자신감을 향상시키자."
  1. 현대인의 발표 & 소통 능력 향상에 도움이 될 수 있는 AI 발표 피드백 솔루션을 제공
  2. 소통 & 협업의 도움: 원활한 커뮤니케이션을 위한 채팅, 화상 & 음성통화 기능 제공
  3. 도전과 배움. 그리고 성장: 개발팀의 새로운 기술적 Challenge & 성취를 통해 지속가능한 성장 추구

📝 Information Architecture(IA)

iScreen_Shoter_-Figma-_241222015234

주요기능

크게 4가지 Feature로 구성했습니다.

1. 화상통화 (Video Call)

  • 사용자가 서로 얼굴을 보며 의사소통할 수 있도록 지원하는 기능입니다.
  • 발표 연습 또는 협업에 활용 가능하며, 실시간 피드백도 가능합니다.

2. 음성통화 (Voice Call)

  • 음성 기반으로 소통할 수 있는 기능으로, 발표 연습 또는 회의 진행에 적합합니다.
  • 마이크 음소거 및 연결 종료와 같은 기본적인 기능도 포함되어 있습니다.

3. 채팅 (Chatting)

  • 텍스트 기반의 소통을 지원하며, 채널 생성, 메시지 작성, 그룹 채팅 등의 기능을 제공합니다.
  • 1:1 채팅과 메시지 검색도 가능해 다양한 소통 상황을 지원합니다.

4. AI 발표 피드백

  • 사용자의 발표 영상을 분석하여 다음과 같은 피드백을 제공합니다:
    • 시선처리: 사용자가 발표 중 시선을 어떻게 관리하는지 분석.
    • 표정 평가: 발표자의 표정이 적절한지 분석.
    • 제스처 평가: 손동작과 같은 제스처의 적절성을 평가.
    • 음성 분석: 억양, 발음, 목소리 크기와 속도에 대한 종합적인 피드백.

ERD

  • 사용자 정보, 메세지 정보, user-server를 연결시켜주는 user_server_membership, 서버랑 채널 정보 이렇게 5가지로 구성되어 있습니다.
스크린샷_2024-12-21_오후_2 50 29

Sequence Diagram

  • Login은 jwt 관련한 access, refresh token 로직을 axios interceptor를 통해 관리됩니다. (좌측 사진)
  • Websocket은 토큰과 heartbeat로 서버에 연결후, WebRTC를 통해 ICE Candidate를 교환후 P2P 미디어 스트리밍을 시작하며, 모든 상태 변경과 채널 퇴장은 알람을 통해 실시간으로 모든 참가자에게 전달됩니다. (우측 사진)

iScreen Shoter - 20250108003550090 image 11

  • Redis, Rabbitmq는 채팅을 보내면 Rabbitmq에 넣고 consumer가 꺼내어 DB저장, Redis Cache, Broadcast 작업을 진행합니다.

image (10)


AI & Data Pipeline

  • 영상 처리는 OpenCV를 사용하여 영상의 프레임을 추출한후, 컴퓨터 비전으로 발표 중 문제 행동이 포함된 프레임을 Vision API에 전송하여 피드백을 받습니다.
  • 음성 처리는 Whisper를 이용해 영상의 음성을 STT로 변환후, 오디오 정보를 추출하고 실제 발표 음성과 비교하기 위해 TTS로 변환후, 발음 정확도말하기 속도를 분석하여 피드백을 제공합니다.

iScreen Shoter - 20250108004015679


Cloud Architecture

  • 12개의 NAT 인스턴스와 프론트를 제외한 모든 인스턴스를 프라이빗 환경에서 관리하며, 로드밸런서, Terraform, Ansible, Prometheus, CI/CD 자동화 및 알림봇으로 효율적이고 안전한 인프라 운영을 구현했습니다.

image (12)


💻 사용 스택

구분 기술
Frontend
Backend
AI & Data
Cloud & Infra
협업툴
  • FE(프론트엔드): React, Vite, TypeScript, TailwindCSS, Zustand
  • BE(백엔드): Java, Spring WebFlux, WebSocket, WebRTC, Redis, RabbitMQ, PostgreSQL, S3, OAuth2, JWT
  • AI & Data: Python, TensorFlow, Mediapipe, OpenAI, Whisper, Librosa, OpenCV, FFmpeg, FastAPI
  • Cloud & Infra: AWS (EC2, S3, RDS), Docker, Jenkins, Terraform, Ansible, Prometheus, Grafana, Nginx, Linux
  • 협업툴: Git, GitHub, GitLens, Notion, Jira, Slack

📅 프로젝트 개발 기간

  • 총 14주의 Sprint를 진행 (09.23 ~ 12.27)

_kakaotech_14_2025-01-08_03 46pm

SPRINT 상세내용
Week 1 팀 개발 주제 Ideation & 구체화, Ground Rule, 협업 환경 구성 (Notion, Jira, Github)
Week 2~3 기획안 발표, 기능 MVP 정의, 피드백 내용 정리, 팀 개발 Process 확립 (Agile)
Week 4 Login UX/UI Design, FE 개발 (메인페이지)
Week 5 Login UX/UI Design, FE 개발, AI 모델 Research, Cloud 기술 STUDY
Week 6 BE 개발 시작, ERD DESIGN, AI 영상 & 음성처리 모델 TEST, Cloud ARCHITECTURE 설계
Week 7 GATEWAY, WEBSOCKET, OAUTH 개발, AI Data Pipeline, 음성 모델 개발, RabbitMQ Test
Week 8 OAUTH, JWT, USER 로직 개발, AI용 FastAPI 개발 & TEST, 음성처리 모델 테스트, CI/CD Test
Week 9 Chatting 기능 개발, UDP Server 개발, 음성서버 모듈화, k8s Study, Docker Image 용량 줄이기
Week 10 WebRTC 서버 PeerConnection, BE Exception, Front E2E Test & Refactoring, 음성서버 Router 개발, CI/CD 2차 Test (Docker, Jenkins)
Week 11 Group (음성, 영상) 통화 동기화 문제 해결, Chatting 기능 개발, AI Server Log Level 설정 및 음성처리 서버 성능 개선, CI/CD 2차 Test & Monitoring 도구 장착
Week 12 WebRTC Test, Chatting Test Code 작성 (STOMP), AI 영상서버 성능개선, Monitoring 도구 장착, Jenkins
Week 13 RabbitMQ 테스트, WebRTC Test 마무리, Nginx, AI 영상서버 Computer Vision 적용, LoadBalancer & Jenkins
Week 14 통합테스트 및 최종 발표 준비

📌 프로젝트 결과물

채팅 & 영상 & 음성 통화 기능

image 13 image 14 image 15

발표 & AI 피드백 기능

image 16 image 17 pronun feedback


👀 기대 효과

사용자들은 종합적인 피드백을 통해 발표 능력을 크게 향상시키고, 반복적인 연습과 맞춤형 조언으로 발표에 대한 자신감을 높일 수 있습니다. 표준어 사용비언어적 요소의 개선을 통해 효과적인 커뮤니케이션 능력을 강화하며, 화상 회의와 채팅 기능을 통해 팀 내 협업의 효율성을 증대시킵니다. 또한, 발표에 도움이 되는 칼럼을 통해 최신 발표 트렌드와 노하우를 습득하여 지속적인 성장을 이룰 수 있습니다.


팀 소개: 일사천리

  • Toby.Kim (김대현) - PM & AI / AI Video 피드백 기능 & Data 처리 파이프라인 구축
  • Ella.Kim (김혜현) - AI / AI Voice 피드백 기능 개발
  • Teddy.Kim (김영진) - BE / Chatting & Login OAuth 개발
  • Neo.lee (이정진) - BE / Media Chat 구축 (Video & Voice Call)
  • Selina.lee (이소민) - Cloud / Infra & CI/CD 구축
  • David.lee (이찬영) - Cloud / Infra & Architeture 설계

Service PR PPT

AIM_Pitching_Final.pdf


MIT License

Copyright (c) 2024 Kakaotech-Pitching Develop Team.

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Popular repositories Loading

  1. AIM-14-AI-VLM AIM-14-AI-VLM Public

    KakaoTech - 커뮤니케이션 플랫폼 Pitching의 AI 기반 발표 영상(행동)처리 (CV & VLM) 및 피드백 엔진의 Repo 입니다

    Python 2 1

  2. AIM-14-FE AIM-14-FE Public

    TypeScript 1

  3. AIM-14-BE AIM-14-BE Public

    Java 1

  4. AIM-14-AI-Pronun AIM-14-AI-Pronun Public

    KakaoTech - 커뮤니케이션 플랫폼 Pitching의 AI 기반 발표 발음 처리 및 피드백 엔진의 Repo 입니다.

    Python 1 1

  5. AIM-14-Cloud AIM-14-Cloud Public

    HCL

  6. .github .github Public

Repositories

Showing 9 of 9 repositories
  • .github Public
    KakaoTech-14-All-in-one-move/.github’s past year of commit activity
    0 MIT 0 0 0 Updated Jan 8, 2025
  • AIM-14-BE Public
    KakaoTech-14-All-in-one-move/AIM-14-BE’s past year of commit activity
    Java 1 MIT 0 1 0 Updated Dec 26, 2024
  • AIM-14-FE Public
    KakaoTech-14-All-in-one-move/AIM-14-FE’s past year of commit activity
    TypeScript 1 MIT 0 5 0 Updated Dec 26, 2024
  • AIM-14-FE-Home Public

    Kakaotech-Pitching Service의 소개 페이지 Repo 입니다.

    KakaoTech-14-All-in-one-move/AIM-14-FE-Home’s past year of commit activity
    TypeScript 0 MIT 0 0 0 Updated Dec 25, 2024
  • AIM-14-AI-VLM Public

    KakaoTech - 커뮤니케이션 플랫폼 Pitching의 AI 기반 발표 영상(행동)처리 (CV & VLM) 및 피드백 엔진의 Repo 입니다

    KakaoTech-14-All-in-one-move/AIM-14-AI-VLM’s past year of commit activity
    Python 2 MIT 1 1 0 Updated Dec 23, 2024
  • AIM-14-AI-Pronun Public

    KakaoTech - 커뮤니케이션 플랫폼 Pitching의 AI 기반 발표 발음 처리 및 피드백 엔진의 Repo 입니다.

    KakaoTech-14-All-in-one-move/AIM-14-AI-Pronun’s past year of commit activity
    Python 1 MIT 1 0 0 Updated Dec 22, 2024
  • kakaotech-14-BootcampChat Public Forked from goorm-dev/ktb-BootcampChat

    kakaotech-사내 부하 테스트 토너먼트 대회 App Repo

    KakaoTech-14-All-in-one-move/kakaotech-14-BootcampChat’s past year of commit activity
    JavaScript 0 36 0 0 Updated Dec 13, 2024
  • kakaotech-14-stresstest Public Forked from goorm-dev/ktb-stresstest

    kakaotech-사내 부하 테스트 토너먼트 대회 테스트 코드

    KakaoTech-14-All-in-one-move/kakaotech-14-stresstest’s past year of commit activity
    JavaScript 0 17 0 0 Updated Dec 8, 2024
  • AIM-14-Cloud Public
    KakaoTech-14-All-in-one-move/AIM-14-Cloud’s past year of commit activity
    HCL 0 MIT 0 0 0 Updated Dec 4, 2024

Top languages

Loading…

Most used topics

Loading…