본문으로 건너뛰기

© 2026 Molayo

Qiita헤드라인2026. 06. 18. 19:43

【개인 개발】 이직 활동을 효율화하는 「CareerSupport-AI」를 5일 만에 만들어 보았다

요약

이직 활동의 번거로운 과정을 자동화하기 위해 5일 만에 구축한 CareerSupport-AI 개발기입니다. 구인 정보를 수집하여 LLM으로 구조화 및 스코어링한 뒤 Excel에 자동 기록하는 MVP를 구현했습니다.

핵심 포인트

  • OpenAI API와 Pydantic을 활용한 LLM 출력 데이터의 정형화 및 안정성 확보
  • BeautifulSoup을 이용한 HTML 전처리로 토큰 효율성 및 처리 속도 개선
  • Microsoft Graph API를 통한 Excel 자동 연동 과정의 기술적 도전과 해결
  • 세밀한 GitHub Issue 관리와 작은 단위의 개발이 MVP 완성의 핵심

이직 활동을 하다 보면,

  • 구인 사이트 순회
  • 구인 내용 읽기
  • 기술 스택 (Tech Stack) 확인
  • 타 기업과 비교
  • Excel에 메모

라는 작업을 몇 번이고 반복하게 됩니다.

매번 똑같은 일을 반복하는 것에 싫증이 나던 차에,

"이거, 자동화할 수 있지 않을까?"

라는 생각이 들어 CareerSupport-AI를 제작했습니다.

이번에는 Green의 구인 정보를 취득하여, LLM으로 구조화·스코어링(Scoring)한 뒤 OneDrive의 Excel로 자동 전기(転記)하는 MVP를 약 5일 만에 제작했습니다. ※

※ 이 APP은 어디까지나 개인적으로 사용하는 것입니다.

Green
↓
로그인
...
분류기술
언어Python
...
  • 자사 개발

  • 기술 스택 일치

  • 아이치·나고야·리모트 가능

  • 급여 조건

  • 고용 형태

  • 파견 근무 있음

  • 커리어 불일치

  • 연봉 하한선이 낮음

  • 잔업이 많음

최종적으로 응모 우선순위를 1 ~ 5로 판정하고 있습니다.

가장 고전했던 부분은 Excel 연동이었습니다.

  • 인증
  • Worksheet 취득
  • 헤더 초기화
  • 행 추가

등, 빠지기 쉬운 함정(ハマりどころ)이 많았습니다.

LLM의 출력은 매번 완전히 동일하지 않기 때문에,

  • Pydantic으로 타입 체크 (Type Check)
  • 부적절한 데이터 스킵
  • JSON 정형화

를 추가하여 안정화했습니다.

HTML을 그대로 보내면 느렸기 때문에,

BeautifulSoup으로 불필요한 태그를 삭제한 후 OpenAI로 전달하도록 했습니다.

Java와 달리 블록이 아니라, 인덴트(Indent)로 중첩(Nest)하는 부분에서 에러가 자주 발생했습니다.

익숙해지니 꽤 사용하기 편하다고 느꼈습니다.

GitHub Issue를 세밀하게 나누어 진행했습니다.

  • CSAI-007 로그인 처리
  • CSAI-008 HTML 취득
  • CSAI-009 JSON 항목 정의
  • CSAI-010 유효성 검사 (Validation)
  • CSAI-011 스코어링 규칙
  • CSAI-015 Excel 자동화
  • CSAI-023 MVP 동작 확인

최종적으로,

  • 약 31 Issue
  • 36 Commit

으로 MVP가 완성되었습니다.

"AI를 사용한다"고 해서 구현 속도가 올라가기도 하지만,

  • Issue를 세밀하게 나누기
  • 작게 만들기
  • 동작하는 상태를 유지하기

라는 기본이 가장 중요하다고 느꼈습니다.

  • 배치 처리 (Batch Processing)
  • LLM 처리 속도 개선
  • 중복 판정 개선
  • Discord 알림
  • Web UI화

5일 만에 MVP까지 완성할 수 있었던 것은 상당히 좋은 경험이 되었습니다.

이직 활동을 위해 만들기 시작한 도구였지만,

결과적으로 Python, OpenAI API, Microsoft Graph API 등을 한꺼번에 다뤄볼 수 있는 좋은 기회가 되었습니다.

비슷한 개인 개발을 하고 계신 분들께 참고가 된다면 기쁘겠습니다.

AI 자동 생성 콘텐츠

본 콘텐츠는 Qiita AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0