이 글은 2026년 4월 초~중순 각 버전 태그(tag)의 주요 변경사항을 정리한 것입니다. 팀원과 사용자가 개발 흐름을 파악하기 쉽도록 작성했습니다.
v2026.04.02 — PDF 인쇄 전략 및 다국어 기반
PDF 출력 전략 리팩토링 (print pdf strategy)
기존의 Playwright 브라우저 기반 PDF 렌더링 방식과 새로 도입한 WeasyPrint 서버 사이드 렌더링을 병행하는 듀얼 엔진 아키텍처를 구축했습니다:
- pdfprinter (Playwright): 완전한 CSS 렌더링이 필요한 시나리오를 처리,
resume_id + access_token으로 트리거 - pdf_weasy_printer (WeasyPrint): 브라우저 프로세스 없이 구조화된 JSON에서 직접 PDF 생성—빠르고 리소스 소비가 적음
이 버전에서는 태그 이름으로 자동 배포가 트리거되는 CI 플로우도 활성화되어, 태그를 푸시하면 프로덕션 릴리즈가 자동으로 트리거됩니다.
백엔드 다국어 아키텍처 (PR #33)
백엔드 i18n 통합 방침을 머지했습니다:
- 각 모듈에 흩어져 있던 중국어 하드코딩을
app/i18n/패키지로 추출하여 5개의 JSON 파일(zh-cn,zh-tw,en,ja,ko) 제공 app/i18n/loader.py가 통합 인터페이스get_i18n(),get_labels(),normalize_locale()제공- PDF 및 DOCX 템플릿 빌더가 통합 인터페이스를 통해 레이블을 가져와 다국어 이력서 출력에 대응
v2026.04.02 (3번째 태그) — PDF 템플릿 및 구직 의향 필드
- PDF 출력용 Jinja2 템플릿(
resume.css.j2/resume.html.j2)을 개선하여 마크다운 리치 텍스트의 PDF 출력 지원 - 워크스페이스에 구직 의향 입력 필드 추가. 후속 JD 매칭 시 직종 방향 참조에 활용
v2026.04.03 — 프론트엔드 i18n 전면 적용
전체 다국어 프론트엔드 리팩토링 (PR #34, #35)
- 프론트엔드 전체의 중국어 하드코딩을
t()호출로 교체. 워크스페이스, 결제, 이력서 폼, 이력서 뷰 컴포넌트를 커버 - i18n 메시지 파일을 단일 파일에서 8개 비즈니스 도메인 네임스페이스(
common,home,auth,workspace,form,resume,error,price)로 분할하고 언어 디렉토리 단위로 관리 useLocalePath()훅을 추가하여 모든 내부 링크가 현재 언어 프리픽스(/en/,/ja/등)에 자동으로 적응
모바일 헤더 반응형 디자인 (PR #36)
- 헤더에 햄버거 메뉴 추가. 모바일에서 펼치면 워크스페이스, 가격, 로그인/회원가입, 언어 전환, 공유 버튼 표시
- 푸터를
flex-wrap으로 변경하여 소형 화면에서의 넘침 현상 해소
v2026.04.05 — 모바일 헤더 미세 조정
- 데스크톱과 모바일의 Auth 영역을 독립적인 렌더링 분기로 분리하여 스마트폰의 레이아웃 문제를 완전히 해소
- 모바일에서 언어 전환(LanguageSwitcher)과 공유 버튼(ShareButton)을 전체 너비 텍스트 행 스타일로 변경
v2026.04.06 — 이력서 진단 강화 및 결제 타임아웃 수정
콘텐츠 완성도 진단
- 이력서 진단에 콘텐츠 완성도 차원 추가: 이력서의 주요 항목(프로젝트 경험, 스킬, 자기소개) 누락을 자동 감지
- 콘텐츠 완성도 점수와 구체적인 개선 제안을 생성
결제 모델 타임아웃 수정
- 모델 응답 시간이 길 때 발생하는 프론트엔드 타임아웃 오류 수정
- nginx 레이어에 HTTPS 강제 리다이렉트(301) 추가
PDF i18n
- PDF 내보내기 시 사용자가 선택한 언어에 따라 이력서 섹션 제목을 자동 전환 (예: "경력사항" / "Work Experience" / "职业经历")
v2026.04.07 — 진단 및 재작성 프롬프트 전면 개편
- 파싱 프롬프트 최적화: 진단 시 원본 경력 항목을 완전히 보존하여 LLM이 분석 중에 컨텍스트를 잃는 것을 방지
- 재작성 프롬프트 전면 개편: improvement 프롬프트를 처음부터 다시 작성하여 성과 정량화·키워드 정렬·ATS 호환성 3가지 방향을 강화
v2026.04.10 — 직무 확인 단계 (PR #44)
워크스페이스 플로우에 구직 의향 확인 단계 추가:
- JD 붙여넣기 전에 현재 목표 직종명과 도메인을 확인
- 기존 이력서와 입력한 직종을 기반으로 초기 직무 매칭 판단을 제시
- "JD를 직접 붙여넣지만 이력서 목표가 불명확한" 상태로 인한 재작성 방향 오류 방지
동시에 PR #43(모바일 헤더 표시 조정)과 PR #42(이력서 기본 정보에 gender: male/female/unknown 필드 추가)를 머지했습니다.
v2026.04.11 — 타겟 초대
- 관리자 패널에 타겟 초대 코드 발급 기능 추가. 특정 사용자에게 베타 접근 권한을 수동으로 부여 가능
v2026.04.12 — i18n 패치 및 워크플로우 버그 수정
- 누락된 i18n 번역 키 보완 (일부 프론트엔드 페이지에서 미번역 필드 표시)
- 특정 시나리오에서 직무 확인(confirm job) 단계가 예외를 발생시키는 문제 수정
- Q&A 플로우에서 사용자 답변이 사라지는(user answer lost) 문제 수정
- 스킬 숙련도 필드를 조정하여 레벨별 표시(초급/중급/고급/전문가) 지원
- 이력서 스킬 섹션을 최적화하여 키워드 커버리지 힌트를 더 정확하게
v2026.04.13 — 이력서 확인 순서 변경
- 워크플로우 내 "이력서 내용 확인"과 "JD 입력"의 순서를 교체: 사용자가 먼저 파싱 결과를 확인한 후 JD를 입력하는 순서로 변경. 이력서 파싱 오류로 인한 후속 JD 매칭 오류 방지
v2026.04.15 — 자기소개 필드
- 이력서 구조에 자기소개(self evaluation) 필드 추가. 진단 및 내보내기 시 독립 섹션으로 표시 가능
- 프로젝트 경험에 회사명 선택(format company name select)과 시작/종료 월(period to start/end month) 필드를 추가하여 필드 형식 통일
요약
4월의 반복 개발은 3가지 방향에 집중했습니다:
- 다국어 전면 실현: 프론트엔드·백엔드 통합 i18n 체계로 간체자·번체자·영어·일본어·한국어를 지원
- 이력서 워크플로우 다듬기: 구직 의향 확인 → 이력서 확인 → JD 입력 → 재작성 플로우가 더 명확하고 실수가 줄어드는 설계로
- 진단 및 재작성 품질 향상: 프롬프트를 처음부터 다시 작성, 콘텐츠 완성도 진단 구현, 스킬과 자기소개 구조 정비
각 기능의 사용법은 기능 전체 안내를 참고하세요.