FEATURED

ResumeATS: AI Resume Optimizer

A GPT-4 powered platform that scores resumes against any job description, surfaces missing keywords, and rewrites bullet points to pass Applicant Tracking Systems, all in under 30 seconds.

Year2024
RoleFull-stack & Product
TypeSaaS Web App
Timeline10 weeks

The Problem

Job seekers spend hours rewriting resumes for every application, and 75% of them never make it past the Applicant Tracking System (ATS) that ranks candidates before a human ever opens the file. The mismatch is rarely about qualifications. It's about keywords, formatting, and how the resume is parsed.

I wanted to build something that closes that gap automatically: paste a resume, paste the job description, get an honest ATS score and concrete edits in seconds.

Approach

The system runs in three stages: parse, score, rewrite. Parsing normalizes the resume into a structured JSON shape regardless of source format. Scoring compares it against the job description across four dimensions, skills, keywords, format, and action verbs, using a combination of embedding similarity and rule-based checks. Rewriting is the part where GPT-4 earns its keep: it generates targeted edits to specific bullets, never hallucinating experience the candidate doesn't have.

The Stack

Next.js 14
TypeScript
OpenAI GPT-4
Tailwind CSS
Node.js
PostgreSQL
Vercel
Stripe

What I Built

  • A four-dimension ATS scoring engine, skills match, keyword density, format compliance, action-verb usage.
  • A streaming GPT-4 rewrite pipeline that edits one bullet at a time so the UI stays responsive.
  • A diff-based review surface so users can accept, reject, or tweak every suggestion individually.
  • A Stripe-powered subscription with per-rewrite quotas and a usage dashboard.
  • A PDF export pipeline that preserves the original layout while applying accepted edits.

Lessons

The biggest unlock was constraining the model. Early prototypes asked GPT-4 to rewrite the whole resume in one pass, output was inconsistent and slow. Breaking the task into bullet-level edits, each with a strict JSON schema, made responses dramatically faster, cheaper, and more trustworthy.

It also turned out that users don't want a black-box score. They want to see why a keyword was missed or what a recruiter would search for. Adding inline explanations next to every score component doubled the conversion rate from free trial to paid.

Results

What It Moved.

+38%
Average ATS score lift after applying suggestions
28s
Median time to first scored result
94%
Trial users who completed at least one rewrite
2.3×
Faster than the next closest commercial tool