Projects

Project Case Study

KKIUM

경험과 채용 공고를 연결해 자기소개서 작성을 돕는 AI 커리어 서비스

KKIUM 프로젝트 화면

Overview

프로젝트 개요

KKIUM은 사용자의 경험을 채용 공고와 연결해 자기소개서 작성을 돕는 AI 커리어 서비스입니다.

PDF, Notion, 직접 입력으로 모은 경험을 공고 분석과 자기소개서 작성 흐름에 연결해 취업 준비 과정을 돕습니다.

Features

주요 기능

경험 추가·관리

PDF, Notion, 직접 입력으로 경험을 추가하고 목록, 검색, 상세 화면에서 관리할 수 있습니다.

공고 분석·경험 매칭

채용 공고를 분석하고 공고에 맞는 경험과 역량 정보를 확인할 수 있습니다.

자기소개서 작성 지원

문항별로 적합한 경험을 선택하고 작성 가이드와 AI 초안 흐름으로 이어갈 수 있습니다.

Contribution

주요 기여

공통 컴포넌트

반복되는 버튼, 입력, 카드성 UI를 공통 컴포넌트로 정리해 화면 간 일관성을 유지할 수 있도록 구현했습니다.

StorybookComponent

경험 추가·목록 화면

사용자가 PDF, Notion, 직접 입력으로 경험을 추가하고, 목록과 상세 화면에서 경험을 다시 확인·관리할 수 있도록 흐름을 구성했습니다.

ExperienceForm

테스트 코드

주요 사용자 흐름을 검증하기 위해 E2E 테스트를 작성하고, 기능 변경 후에도 핵심 플로우가 유지되는지 확인할 수 있도록 구성했습니다.

PlaywrightE2E

Troubleshooting

대표 문제 해결 사례

01

Problem

PDF 파일을 업로드한 뒤 Notion OAuth 연동을 진행하면 외부 페이지를 다녀오는 과정에서 React state가 초기화되어 기존 PDF가 사라지는 문제가 있었습니다.

02

Approach

File 객체는 localStorage에 그대로 저장하기 어렵다고 판단해, OAuth 이동 전 PDF 정보를 IndexedDB에 임시 저장하고 복귀 후 다시 state로 복구하도록 구성했습니다.

03

Result

PDF와 Notion 자료를 함께 추가하는 흐름에서도 업로드한 파일이 유지되도록 개선했고, 페이지 생명주기 밖에서도 보존되어야 하는 상태를 분리해 관리할 수 있었습니다.

Reflection

배운 점

  • AI 기능을 소개하는 서비스에서는 기술 설명보다 사용자가 어떤 입력을 하고 어떤 결과를 얻는지 먼저 보여주는 구성이 중요했습니다.
  • 성능 최적화는 Lighthouse 점수뿐 아니라 초기 렌더링에 필요한 리소스와 사용자 액션 이후 필요한 리소스를 구분해 로딩 전략을 세우는 판단이 중요하다는 점을 배웠습니다.