2026 Product Systems Case Study

CareerFit RCR 채용 탐색·문서 생성 시스템

공식 채용 source를 검증해 수집하고, 프로필과 공고 요건을 근거 단위로 매칭한 뒤 사실 기반 이력서·포트폴리오 초안까지 생성하는 FastAPI 기반 채용 지원 시스템입니다.

2개 모드서버 저장 없는 public stateless와 SQLite local stateful runtime 분리
32 routes공개 조회, 로컬 상태, 수집, 문서, 보안 관리 API 경계 구현
83 tests보안, source 정책, 스코어링, 문서 생성, stateless 저장 금지 검증
Rust sidecarrobots·redirect·공식 ATS URL 검증과 source refresh 보조

Live Public Service

구직자를 돕기 위한 무료 공고 웹페이지

https://cleat-hassle-cone.ngrok-free.dev/

CareerFit RCR은 공고 탐색과 지원 문서 초안 작성을 돕기 위해 무료로 공개한 웹페이지입니다. 공개 origin은 서버 저장 없는 stateless 모드로 운영하며, 사용자가 입력한 정보가 서버 DB에 남지 않도록 설계했습니다.

현재 공개 서버는 stateless health check에서 사용자 데이터와 문서 저장이 비활성화된 상태로 응답합니다.

FREE ACCESS

구직자 지원 목적

채용 공고를 빠르게 찾고 본인의 경험을 공고 요건에 맞춰 정리하도록 돕는 무료 공개 서비스입니다.

VERIFIED SOURCES

공공 API와 검토된 공식 경로

수집 데이터는 공공기관 채용정보 API, 서울·부산 공공 일자리 OpenAPI, 그리고 robots.txt·공개 URL·원문 상태를 개별 검토한 기업 공식 채용 페이지에서만 가져옵니다.

NO USER DATA USE

사용자 입력 비수집

프로필, 답변, 선택 공고, 생성 문서는 수집·가공·판매·제3자 공유를 하지 않으며 서버 DB에 저장하지 않습니다. 필요한 값은 브라우저 상태와 사용자 PC 다운로드로만 다룹니다.

NO BYPASS

무단·불법 수집 방식 배제

로그인, CAPTCHA, WAF, 유료벽, 비공개 API, 프록시 회전, 계정·토큰 재사용 같은 우회 접근을 사용하지 않습니다.

FAIL CLOSED

불명확한 출처 제외

약관·robots 정책 또는 공개 접근 가능성이 불명확하거나 자동 수집 금지 문구가 있으면 review 또는 fail-closed로 두고 추천 근거에서 제외합니다.

TRANSPARENT BOUNDARY

공개 모드 API 차단

public mode에서는 profile, jobs, collect, documents, admin성 설정 API를 차단해 로컬 운영 기능과 공개 데모 기능을 분리합니다.

저장 경계가 먼저인 추천 흐름

공개 데모에서는 사용자 프로필·답변·생성 문서를 서버에 저장하지 않고, 로컬 모드에서만 SQLite와 Cloudflare Workers AI 설정을 열도록 API 경계를 분리했습니다.

01 · SOURCE 공식 채용 source 공공기관, 서울·부산 OpenAPI, Greenhouse, Lever, Amazon, NVIDIA, 한국 게임사 후보
02 · POLICY 수집 가능성 검증 robots.txt, 공개 HTTP/HTTPS, private host 차단, 원문 URL 상태 확인
03 · SCORING 요건 기반 적합도 직무, 기술, 경력, 지역, 학력, 자격을 fact reference와 함께 계산
04 · DOCUMENT 사실 기반 초안 질문 답변을 근거로 문장 상태를 표시하고 Markdown·export artifact 생성
05 · SECURITY 공개 origin 방어 noindex, docs 비활성화, rate limit, crawler 차단, admin blocklist

주요 수행 업무

PRODUCT / RUNTIME

공개 모드와 로컬 모드 분리

  • CAREERFIT_PUBLIC_STATELESS_MODE 기준으로 서버 저장 금지 public flow와 local SQLite flow를 분리
  • public mode에서 profile, jobs, collect, documents, Cloudflare settings, Rust collector 제어 API를 404로 차단
  • 브라우저 입력과 다운로드 중심의 client workspace로 개인정보 저장면을 줄임
SOURCE / COLLECTOR

공식 source 중심 수집 정책

  • 공공기관 채용정보 API, 서울·부산 공공 일자리 API, Greenhouse·Lever·Amazon·NVIDIA source를 통합 조회
  • 한국 게임사 후보는 manifest와 source registry 검증을 통과한 경우에만 active target으로 승격
  • Rust sidecar로 URL 검증, ATS adapter, async source-refresh job API를 분리
SCORING / MATCHING

요구조건 기반 적합도 계산

  • 직무·기술·경력·지역·연봉·학력·자격·기업 가치 항목을 점수화하고 입력 항목 기준으로 정규화
  • 필수 자격, 경력 범위, 학력, 직무 계열 충돌은 gate reason으로 노출
  • 각 breakdown과 atomic requirement에 profile/job fact reference를 연결
DOCUMENT / AI

사실 기반 문서 생성

  • 공고 핵심 기술과 필수 요건에 맞춘 이력서·포트폴리오 질문 생성
  • 생성 문장을 fact_based, rewritten, needs_confirmation, improvement_suggestion 상태로 분류
  • Cloudflare Workers AI는 선택적 문체 제안으로 두고, PII 제거와 로컬 사실 검증을 우선 적용
SECURITY / OPS

public origin 보안 경계

  • /docs, /redoc, /openapi.json 비활성화와 robots.txt 전체 차단 정책 적용
  • CSP, X-Content-Type-Options, X-Frame-Options, Referrer-Policy, Permissions-Policy 응답 header 구성
  • sliding-window rate limit, heavy endpoint 제한, auto-block, admin token blocklist API 구현
TEST / ARCHITECTURE

검증 가능한 코드 경계

  • router 9개 기능군과 service 28개 모듈로 HTTP, source, scoring, document, security 책임을 분리
  • 83개 테스트 함수로 stateless 저장 금지, source fail-closed, 직무 taxonomy, 문서 fact metadata를 검증
  • 현행 시스템 스냅샷과 코드 경계 문서를 두어 구현 상태와 목표 아키텍처 차이를 명시

업무 수행 결과

개인정보 저장 리스크 축소

공개 origin에서는 프로필·답변·문서 본문을 서버에 남기지 않는 구조로 데모 공유와 민감 정보 보호를 함께 맞췄습니다.

추천 신뢰도 설명 가능

점수, gate reason, evidence coverage, requirement match summary를 함께 제공해 왜 추천 또는 검토 대상인지 확인할 수 있게 했습니다.

무분별한 크롤링 방지

공식 API와 robots 검증을 우선하고, 자동 수집 금지·private host·불명확한 원문은 review 또는 fail-closed로 둡니다.

문서 생성의 사실성 확보

없는 경험이나 수치를 만들지 않고, 근거 부족 문장은 기본 출력에서 제외하거나 추가 질문으로 돌립니다.

운영형 확장 경로 확보

FastAPI가 제품 API와 정책 판단을 유지하고 Rust collector가 네트워크-heavy 작업을 보조하는 하이브리드 구조를 만들었습니다.

재현 가능한 검증 기준

Docker Compose 실행, pytest, ruff, mypy, stateless health check 명령으로 개발·운영 검증 기준을 문서화했습니다.

기술과 산출물

기능 구현뿐 아니라 공개 데모의 저장 정책, source 검증 정책, 문서 생성 근거, 운영 검증 명령까지 함께 정리했습니다.

Python FastAPI SQLite Docker Compose Rust Axum Source Registry Requirement Matching Fact Validation Cloudflare Workers AI Security Middleware Pytest
전체 경력 상세 보기 →