SpeakUp (AI 모의 면접 플랫폼)

Product Design

1인 개발의 복잡성을 관리하고, 각 컴포넌트(프론트엔드, 백엔드, AI)를 독립적으로 개발할 수 있는 명확한 로드맵과 기술 명세서를 완성했습니다.

Next.jsFastAPIPythonPostgreSQL

핵심 기여 사항

  • 핵심 사용자 경험에 집중한 MVP 범위 정의
  • 프론트엔드, 백엔드, AI 서비스를 명확히 분리한 확장 가능한 시스템 아키텍처 설계
  • 초기 기획 단계에서 핵심 API 엔드포인트 설계 및 문서화

도전 과제: 면접 불안 해소와 객관적인 피드백 제공

이 프로젝트는 많은 취업 준비생들이 겪는 '면접에 대한 막연한 불안감'과 '객관적인 피드백 부족'이라는 명확한 문제(Pain Point)에서 시작되었습니다. 이를 해결하기 위해, 사용자가 시간과 장소에 구애받지 않고 실전처럼 연습하며 자신의 강점과 약점을 파악할 수 있는 AI 기반의 모의 면접 서비스가 필요하다고 판단했습니다. 기술적으로는, 사용자의 음성 데이터를 실시간으로 처리하고, 비정형적인 답변에서 유의미한 역량을 분석해내는 AI 파이프라인을 어떻게 안정적으로 설계할 것인가가 핵심 과제였습니다.

해결 전략: MVP 우선 접근법과 확장 가능한 시스템 아키텍처 설계

1인 개발의 효율성을 극대화하기 위해, 가장 핵심적인 사용자 경험인 '모의 면접 시작 → 음성 답변 녹음 → AI 분석 피드백 확인'에 집중하여 MVP(최소기능제품)의 범위를 명확하게 정의했습니다. 전체 시스템은 프론트엔드, 백엔드, AI 서비스를 명확하게 분리하여, 각 컴포넌트가 독립적으로 개발되고 확장될 수 있는 유연한 아키텍처를 설계했습니다.

다이어그램을 불러오는 중...

[그림 1] 스피크업 서비스 전체 아키텍처 설계

사용자 경험의 흐름에 따라 각 기술 요소가 어떤 역할을 담당하는지 명확히 정의했습니다. 프론트엔드는 사용자 인터페이스를, 백엔드는 전체 데이터 흐름과 비즈니스 로직을 제어하며, 각 AI 서비스는 특정 기능(STT, LLM 분석)을 독립적으로 수행하도록 설계하여 유지보수성과 확장성을 높였습니다.

# 초기 기획 단계에서 정의한 핵심 API 엔드포인트 설계안
# 1. 면접 세션 생성 API
# POST /api/v1/interviews
# Request: { userId, jobDescription }
# Response: { interviewId, firstQuestion }
# 2. 음성 답변 제출 및 분석 API
# POST /api/v1/interviews/{interviewId}/answer
# Request: { audioBlob }
# Response: { analysisResult, nextQuestion }
# 3. 최종 면접 결과 조회 API
# GET /api/v1/interviews/{interviewId}/result
# Response: { overallScore, feedbackByCategory, fullTranscript }

결과 및 성과

체계적인 기획 및 설계를 통해 1인 개발의 복잡성을 효과적으로 관리하고, 각 컴포넌트(프론트엔드, 백엔드, AI)를 독립적으로 개발할 수 있는 명확한 로드맵과 기술 명세서를 완성했습니다. 이 설계안은 향후 사용자 데이터 기반의 통계 대시보드와 같은 고도화 기능을 추가할 수 있는 확장성 있는 구조의 기반이 되었습니다.