← 작업 목록

VMC (Video Meeting Coach)

화상회의 음성·표정을 분석해 발언 기회 불균형을 피드백하는 서비스

개인Full Stack (Next.js·Node.js·FastAPI) + 배포 인프라 구축2024.09 — 2024.11

Next.jsNode.jsFastAPIEC2PM2NginxGitHub Actions

한성SW중심대학 페스티벌 최우수상 (2024) 수상작. (w/ Okestro)

프로젝트 소개

현대 기업의 회의는 협업과 의사결정의 핵심이지만, 참석자들의 성향 차이 때문에 발언 기회가 불균형하게 분배되는 문제가 있다. 외향적인 사람이 회의를 주도하는 동안 내향적인 사람은 발언 기회를 잃고, 결과적으로 특정 성향에 치우친 결론이 나올 수 있다.

VMC 는 화상회의 영상을 기반으로 음성을 분석해 발언 비율·참여도를 평가하고 회의 내용을 요약하는 솔루션이다. 음성 감정 분석과 표정 분석 기술을 활용해 개인별 회의 참여 태도를 피드백하는데, 사람이 아니라 AI 가 주는 피드백이라 갈등 없이 받아들이기 쉽다는 점을 노렸다. 결과적으로 발언 기회를 더 공평하게 조정하고, 성향 차이에서 비롯되는 갈등을 완화해 생산적이고 균형 잡힌 회의 문화를 만드는 게 목표였다.

내가 한 역할

Next.js 프론트엔드, Node.js/FastAPI 백엔드, 그리고 배포 인프라(EC2 + PM2 + Nginx 리버스 프록시 + GitHub Actions CI/CD) 전체를 맡아 풀스택으로 만들었다.

기술적 도전과 배운 점

AWS 인프라를 처음부터 직접 구축한 경험이 가장 컸다.

  • Ubuntu 서버에 Node.js 환경 세팅 + PM2 로 프로세스 관리
  • Nginx 리버스 프록시 구성
  • GitHub Actions 로 서버와 CI/CD 파이프라인 연동 — push 하면 자동 배포되는 흐름까지 직접 구축

프론트엔드(Next.js)와 두 개의 백엔드(Node.js, FastAPI)로 나뉜 서비스를 하나의 서버 인프라 위에 함께 운영해본 것도 이 프로젝트가 처음이었다.

트러블슈팅

PM2 를 pnpm 으로 설치하면 CI 에서 command not found GitHub Actions 워크플로에서 배포 스크립트가 pm2 restart ... 를 실행할 때 command not found 가 났다. pnpm 으로 PM2 를 설치하면 기본 PATH(/usr/bin/pm2)에 잡히지 않는다는 게 원인이었다. npm 으로 설치하도록 바꾸자 PATH 문제가 사라졌다.