resuzu logoresuzu
// RULE BOOK

How resuzu analyses a CV

Every CV runs through a deterministic rules engine: 36 rules, three categories, fixed weights. The same CV always gets the same score. Each rule below is explained with its own inspector card and has a dedicated detail page.

ASO-03
ASO SCORE: 96%Senior Software Engineer
Rules: ASO-01..03 PASS

[ACTION: Led] a team of 5 engineers migrating a monolith serving [SCALE: 1.4M active users] to Go microservices, delivering [OUTCOME: 38% faster responses and 20% cost savings].

01. Action✓ Led
02. Scale✓ 1.4M users
03. Outcome✓ 38% faster
// USER GUIDES & BEST PRACTICES

Step-by-Step Resume & ATS Guides

Explore All Guides
// 01. SCORING ARCHITECTURE

Score formula

Sub-scores start at 100; every failing rule subtracts its own weight.

30%

Mechanical

45%

Content

25%

ASO

final = mechanical * 0.30 + content * 0.45 + aso * 0.25
subScore = clamp(0, 100, 100 - Σ(weight × severityMultiplier × failRatio))
// 02. EXECUTION PIPELINE

How it runs

Eight steps from upload to score.

  1. 01Extraction — text, coordinates, fonts and link annotations from PDF/DOCX
  2. 02Mechanical filter — MEC-00..07 (scanned PDF, columns, fonts, header)
  3. 03Sectionizing — heading detection and the section map
  4. 04Contact & links — field-level parsing, dead link detection
  5. 05Content rules — CON, SKL and GEN rules
  6. 06ASO — Action / Scale / Outcome scoring per bullet
  7. 07GitHub (optional) — profile, originality and secret scan
  8. 08Score — weighted total and hard-blocker check
// 03. RULE CATALOG

All 36 rules

The full list grouped by category. Open any card to read how the rule is measured, why it matters and how to fix it.

Mechanical checks (MEC)

Tier 1 · 8 rules · total weight 136

The Tier 1 mechanical filter: can an ATS read the file at all? Two rules here are hard blockers — when they fail, the score cannot exceed 45 no matter how good the content is.

MEC-00Critical60Hard blocker

Scanned / image-only PDF

MEC-00 checks whether the PDF contains a real text layer. If character density per page area is near zero, the CV is a scanned image: the ATS reads nothing and your application is stored as an empty record. It is a hard blocker — when it fails, the final score is capped at 45.

Read the rule
MEC-01Critical25Hard blocker

Multi-column layout

MEC-01 looks for a column corridor that breaks ATS reading order. Line start x values are clustered into 15pt bins; if a secondary cluster sits at least 22% of the page width to the right of the primary one, holds 5+ lines and overlaps it vertically by half its own range, the layout is multi-column. This is a hard blocker.

Read the rule
MEC-02Medium8

Font standard

MEC-02 checks whether body text uses a font that ATS engines decode reliably. Font names are normalized by stripping subset prefixes and style suffixes; if non-whitelisted fonts cover more than 20% of characters, the rule fails.

Read the rule
MEC-03Medium7

Minimum font size

MEC-03 measures whether body text drops below 10pt. Point size is read from each text run’s transform matrix; the size carrying the most characters counts as body size. Body text under 10pt — or a large share of text under 9pt — fails the rule.

Read the rule
MEC-04High12

Charts, progress bars and icon noise

MEC-04 looks for skill progress bars, star ratings and icon glyphs mixed into the text flow. It catches both real block characters (████░░) and the repeated symbol runs (ˆˆˆˆ‘‘) they turn into when the font is not embedded.

Read the rule
MEC-05High12

Contact details in header/footer

MEC-05 checks, field by field, whether email, phone, LinkedIn and GitHub sit inside the page header or footer band. The header is the top 6% of the page, the footer the bottom 6% — many ATS engines process those bands separately from the main flow and skip them.

Read the rule
MEC-06Medium8

Page count and density

MEC-06 judges CV length against your career level: one page for graduates, one to two pages mid-level. Documents over three pages, or ones that end halfway down page one, fail — and the rule also measures meaningful content density per page.

Read the rule
MEC-07Low4

File name

MEC-07 inspects the uploaded file name. Generic names such as "cv.pdf" or "document-final(2).pdf" get lost in a recruiter’s download folder, and some ATS engines pre-fill the candidate name field from the file name.

Read the rule

Content rules (CON)

Tier 2 · 10 rules · total weight 76

Sections, contact details, dates and job-posting fit — the information layer of the CV.

CON-01High10

Non-standard section heading

CON-01 checks section headings against the heading vocabulary ATS engines are trained on. Experience placed under a creative heading such as "My Journey" lands in an "other" field instead of the experience field, so the system shows you with zero years of experience.

Read the rule
CON-02High9

Dead links

CON-02 verifies that GitHub, LinkedIn and portfolio addresses are genuinely clickable in the PDF annotation layer. If a URL appears as text with no matching link annotation, the link is dead — nobody retypes a 40-character address, so your portfolio is never opened.

Read the rule
CON-03High10

Personal data exposure

CON-03 looks for personal data that does not belong on a CV: date of birth, marital status, military service, national ID, full street address and — in sectors where photos are not expected — an embedded portrait.

Read the rule
CON-04Medium7

Missing or clichéd summary

CON-04 checks whether the CV opens with a professional summary and whether that summary is buried in clichés. Adjective stacks like "dynamic, dedicated team player" match no job-posting keyword, so the first three lines a recruiter reads are wasted.

Read the rule
CON-05High9

Inconsistent date formats

CON-05 counts how many distinct date patterns the CV uses. When "03/2022", "March 2022", "2022" and "Mar ’22" mix in one document, the ATS date parser leaves what it cannot recognise empty and your total years of experience are computed wrong.

Read the rule
CON-06Low4

Unexplained employment gap

CON-06 finds gaps longer than six months between consecutive roles and checks whether the CV explains them. The gap itself is not the problem — leaving it unexplained is.

Read the rule
CON-07Medium6

Spelling and typography

CON-07 checks the canonical spelling of technology names, first-person pronouns in bullets and punctuation consistency. A CV that says "Phyton" is invisible to an ATS searching for an exact "Python" match.

Read the rule
CON-08Low3

Redundant references section

CON-08 looks for the "References available upon request" line and for referee contact details printed on the CV. The first carries no information; the second shares a third party’s data without consent.

Read the rule
CON-09Medium8

Missing or weak projects section

CON-09 checks, in sectors where a portfolio is expected, whether a projects section exists and whether each project carries a verifiable link. If the sector profile sets projectsExpected to false, the rule never runs.

Read the rule
CON-10High10

Job posting keyword match

CON-10 measures keyword overlap between the job posting you supply and your CV. Technical terms are extracted from the posting and searched in the CV; below 50% overlap most ATS rankings push you to the bottom of the list.

Read the rule

Skill rules (SKL)

Tier 2 · 3 rules · total weight 14

Volume, grouping and signal quality of the skills section.

Document structure rules (GEN)

Tier 2 · 5 rules · total weight 32

Document-wide rules: ordering, section layout and bullet structure.

ASO / STAR rules (ASO)

Tier 3 · 5 rules · total weight 100

Action–Scale–Outcome: whether each experience bullet carries an action, a scale and a measurable outcome. 25% of the score comes from here.

GitHub rules (GIT)

Tier 3 · 5 rules · total weight 30

Verification of the GitHub profile in sectors that write code. Never runs when the sector profile sets usesCodeRepos to false.

Sector filter: depending on the sector profile you pick, some rules never run or return `skipped` — a skipped rule never costs points.

// 04. FAQ & ANSWERS

Frequently asked questions

What is the MEC-00 (scanned PDF) rule?

MEC-00 checks whether the PDF contains a real text layer. If character density per page area is near zero, the CV is a scanned image: the ATS reads nothing and your application is stored as an empty record. It is a hard blocker — when it fails, the final score is capped at 45.

MEC-00Read the rule

What is the MEC-01 (multi-column layout) rule?

MEC-01 looks for a column corridor that breaks ATS reading order. Line start x values are clustered into 15pt bins; if a secondary cluster sits at least 22% of the page width to the right of the primary one, holds 5+ lines and overlaps it vertically by half its own range, the layout is multi-column. This is a hard blocker.

MEC-01Read the rule

What is the ASO-03 (measurable outcome) rule?

ASO-03 is the heaviest leg of the ASO model: does the bullet answer "what changed?" with a number? Without a percentage, duration, amount of money or count, the bullet is a job description. A measurable outcome is the single concrete argument a recruiter passes to the hiring manager.

ASO-03Read the rule

What is the CON-10 (job match) rule?

CON-10 measures keyword overlap between the job posting you supply and your CV. Technical terms are extracted from the posting and searched in the CV; below 50% overlap most ATS rankings push you to the bottom of the list.

CON-10Read the rule