1인 개발의 복잡성을 관리하고, 각 컴포넌트(프론트엔드, 백엔드, AI)를 독립적으로 개발할 수 있는 명확한 로드맵과 기술 명세서를 완성했습니다.
이 프로젝트는 많은 취업 준비생들이 겪는 '면접에 대한 막연한 불안감'과 '객관적인 피드백 부족'이라는 명확한 문제(Pain Point)에서 시작되었습니다. 이를 해결하기 위해, 사용자가 시간과 장소에 구애받지 않고 실전처럼 연습하며 자신의 강점과 약점을 파악할 수 있는 AI 기반의 모의 면접 서비스가 필요하다고 판단했습니다. 기술적으로는, 사용자의 음성 데이터를 실시간으로 처리하고, 비정형적인 답변에서 유의미한 역량을 분석해내는 AI 파이프라인을 어떻게 안정적으로 설계할 것인가가 핵심 과제였습니다.
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)를 독립적으로 개발할 수 있는 명확한 로드맵과 기술 명세서를 완성했습니다. 이 설계안은 향후 사용자 데이터 기반의 통계 대시보드와 같은 고도화 기능을 추가할 수 있는 확장성 있는 구조의 기반이 되었습니다.