Building an AI résumé scorer with Claude + AWS Bedrock – architecture and lessons learned

작성자

카테고리:

← 피드로
DEV Community · Aakash Das · 2026-07-19 개발(SW)

Aakash Das

Most résumés never reach a human recruiter. ATS software filters them out silently, with zero feedback to the applicant.

That’s the problem ScorAxis solves.

What it does

Upload a PDF → get a 0–100 ATS compatibility score with specific issues flagged and actionable fixes.

Stack

  • Backend: FastAPI + AWS ECS Fargate + RDS Postgres
  • Frontend: Next.js 15 + Vercel + Clerk auth
  • AI: Claude Haiku 4.5 (parsing) + Sonnet 4.6 (checks) via AWS Bedrock
  • Jobs: Inngest for background processing

Scoring — two halves

Deterministic (0–70) — pure Python, no AI:
contact info, sections, word count, bullets, date consistency, layout density

LLM (0–30) — Claude Sonnet via tool use:
action verbs, quantified impact, keyword coverage, tense, buzzwords

The interesting part — graceful degradation

If Sonnet is unavailable, the upload never fails.
The system persists a deterministic-only score with a “Limited Mode” banner. The user always gets something useful.

Forced tool_choice made structured JSON output rock solid — almost zero validation failures in production.

Lessons

  • Separate deterministic from AI logic from day one
  • Forced tool use > prompt engineering for structured output
  • Ship early — real feedback beats internal tuning

Live at scoraxis.com — happy to
answer questions about the architecture below.

원문에서 계속 ↗

코멘트

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다