Skip to main content
FreeAcademy

Building a Resume That Beats the ATS

The ATS Reality Check

Before you write a single bullet, understand what you're up against. Most mid-size and large employers run resumes through an Applicant Tracking System (ATS) β€” software that parses your file, extracts keywords, and ranks you against the job description. A human recruiter often spends six to eight seconds on the resumes that survive. That's two filters: a robot looking for exact matches, and a tired human scanning for proof.

Your resume needs to win both. AI is the unfair advantage that lets you do this in an hour instead of a week β€” but only if you stop asking it to "write me a resume" and start using it as a structured editor.

Three rules before you open Claude or ChatGPT:

  • One column, no tables, no text boxes, no graphics. Fancy templates from Canva get mangled by parsers. Use a clean Word or Google Docs export to PDF.
  • Standard section headers. "Experience," "Education," "Skills," "Projects." Not "Where I've Made Magic Happen."
  • Save as PDF unless the posting says .docx. Both parse fine in modern ATS; PDF preserves your formatting for the human.

Build the Master Resume First

You're not going to apply with one resume. You're going to keep one master document β€” every job, project, internship, club, course, and quantifiable win you've ever had β€” and shrink-tailor it per application (next chapter handles that).

Open a doc and dump everything in raw form. Don't edit yet. For each role or project, write three to five rough lines covering: what you did, what tool or method you used, and what changed because of it. Numbers are gold. If you don't remember exact numbers, estimate honestly ("~40 users," "roughly 15% faster").

Now hand it to AI. Use this prompt:

You are an expert technical recruiter who screens resumes for [target role, e.g. "entry-level data analyst"] positions.

Here is a raw dump of my experience:
[paste your dump]

For each item, rewrite it as a single resume bullet using this structure:
[Strong action verb] + [what you did] + [tool/method] + [quantified outcome].

Rules:
- Start each bullet with a unique action verb (no "Responsible for", no "Helped").
- Include a number in at least 70% of bullets.
- Maximum 2 lines per bullet.
- Cut adjectives. Cut "successfully". Cut "various".
- If a bullet has no measurable impact, flag it with [NEEDS METRIC] so I can fix it.

Return as a clean list grouped by role.

This output is a draft, not a final. Read every bullet out loud. If it sounds like a robot, mark it. If it claims something you didn't do, kill it. AI will happily invent achievements β€” your job is to be the ruthless editor.

Mining the Job Description for Keywords

The ATS doesn't care how clever you are. It cares whether your resume contains the same words the job description does. So before you finalize your master resume, you need a keyword map of the type of role you're targeting.

Grab three to five job postings for the same role at different companies. Paste them into one prompt:

Here are 5 job descriptions for [role title]:
[paste all 5, separated by ---]

Extract and rank:
1. Hard skills mentioned in 3+ postings (tools, languages, frameworks, certifications).
2. Soft skills mentioned in 3+ postings.
3. Domain keywords or jargon (e.g. "stakeholder management", "A/B testing", "GAAP").
4. Required vs nice-to-have qualifications.

Return as a table with frequency counts.

Now you have a prioritized list. Anything appearing in 4 or 5 postings is non-negotiable β€” it must appear naturally in your resume, ideally in your skills section and embedded in a bullet. Anything in 3 is high priority. Don't keyword-stuff; the human reader will spot it instantly and the ATS often deprioritizes obviously stuffed resumes.

If you're missing a high-frequency skill, that's a signal to learn it. A weekend course on a foundational topic β€” say intro machine learning for analyst roles, or Python for AI and data science for technical tracks β€” is often the difference between "auto-rejected" and "phone screen."

The Scan Test

Print your resume. Yes, actually print it, or zoom out to 50% on screen. Set a timer for 8 seconds. Look at it. Can you tell, in that time:

  • What role you're targeting?
  • Your most recent and impressive role or project?
  • One quantified result?
  • Your education and graduation year?

If not, your hierarchy is broken. Fix it with this prompt:

Here is my resume:
[paste full text]

I'm targeting [role] at [type of company, e.g. "early-stage startups" or "Big 4 consulting"].

Critique my resume as if you're skimming for 8 seconds:
- Does the top third sell me for this role?
- Are the strongest bullets in the most visible positions?
- What would you cut to make room for what matters?
- Where do you get lost or bored?

Be blunt. No compliments.

Move your strongest, most relevant bullets to the top of each section. Cut anything that doesn't earn its line β€” your high school job at a coffee shop can go once you have two real internships or projects.

Skills, Education, and the Final Polish

Your skills section is the ATS's favorite snack. Group skills into 3-5 categories ("Languages," "Tools," "Frameworks," "Methods") so it parses cleanly and a human can scan it. List only what you can defend in an interview. If "SQL" is on your resume, expect a SQL question.

For education, lead with degree, school, graduation date, and GPA if it's above 3.5. Add relevant coursework only if you're early-career and the courses match the role. Certifications and completed online courses (with dates) belong here too β€” they signal initiative.

Last pass: hand your resume back to AI one more time with this:

Here is my final resume:
[paste]

Here is the job description I'm targeting:
[paste]

Score this resume from 1-10 on:
- Keyword match to the JD
- Quantified impact (% of bullets with numbers)
- Action verb variety
- ATS-friendliness (formatting risk)
- Recruiter scan-ability

For any category below 8, give me one specific fix.

Iterate until every category is 8+. Save this as resume_master.pdf. You'll clone and tailor it per application β€” fast, with a tight prompt loop you'll build in the next chapter.