Skip to main content
All projects
AI Product

CV Checker

A privacy-first ATS resume checker that scores a CV with transparent rules, matches it requirement by requirement to a job post, and writes cover letters grounded only in what the CV proves.

Try it liveCodeWatch the run
CV Checker
  • 80/100

    ATS score on the real test run, every point explained

  • 7 months

    employment gap detected to the month

  • 12

    job requirements mapped to resume evidence

  • 3.3 s

    grounded cover letter generated

Inside the product

See it working

Real screens and a recorded run, captured from the working product.

CV Checker
A full real run: landing page, upload a resume, paste a job description, analyze (the waiting part is sped up 4x), score reveal and health cards, tour of the ATS breakdown, job match evidence and recommendations, then a job-tailored cover letter generated live and scrolled through.
CV Checker
Open full size

Landing page: "Elevate your resume with deep ATS intelligence".

01 / 17

My role

Sole engineer: product design, the scoring engine, the AI layer, the bilingual interface and the security model.

The problem

Most resume checkers return a single opaque number and a generic AI rewrite. Candidates cannot tell why they scored what they scored, and AI-written cover letters happily invent achievements the resume never claims. Many tools also keep the uploaded CVs.

What I built

A Next.js app that separates scoring from generation. The ATS score comes from pure TypeScript rules (parseability, contact details, sections, role alignment, hard skills, experience, keywords and achievement quality), each shown with its signal, weight and points, so the whole score can be audited.

A resume health audit checks contact completeness, timeline order, employment gaps to the month, "ghost skills" listed without evidence, quantified achievements, length and density. With a job post, every requirement is classified as required or preferred and mapped to the exact resume lines that support it, with an evidence-strength rating and a seniority check. The cover letter generator (job-tailored or general) only uses verified achievements, and the whole analysis exports to a PDF report.

Architecture

Uploads (PDF, DOCX or TXT up to 5 MB) are validated by file signature, MIME type and extension, then parsed with pdf.js or Mammoth, with scanned-file detection. A deterministic engine computes the score, health checks and matching. Gemini is used only for structured extraction and writing; its JSON output is validated with Zod and checked against the resume text, and a deterministic extractor keeps the app fully working when the model is unavailable. PDF reports are rendered with headless Chromium.

Challenges

Keeping the language model honest: anything it returns that is not present in the resume is rejected before it reaches the user. Explaining a score instead of just showing it, and detecting gaps and unsupported skills reliably across many resume layouts and both languages.

Key engineering decisions

Deterministic rules for anything that is a judgement about the candidate, and the model only for extraction and wording. A full fallback path so a model outage never breaks an analysis. Privacy by design: resumes are processed per request and never written to a database, disk, browser storage or logs.

Results & impact

On a realistic test resume checked against a Senior Full-Stack job post, the app returned an ATS compatibility of 80/100 with 95% confidence, resume health of 83/100 and a 73% job match. It found the 7-month gap between two jobs (Aug 2021 to Mar 2022), counted 6 quantified achievements, flagged Docker as a missing must-have and PostgreSQL as a missing nice-to-have, and mapped 12 requirements to resume evidence. A job-tailored cover letter was generated in about 3.3 seconds using only the resume's real numbers.

Highlights

  • Explainable, weighted ATS score with a full breakdown table
  • Employment-gap and ghost-skill detection
  • Requirement-by-requirement job matching with quoted evidence
  • Grounded AI cover letters: edit, copy or download as PDF
  • One-click PDF report of the whole analysis
  • English and Arabic with full RTL, light and dark themes, responsive down to phones
  • No storage, no-store caching, per-route rate limits and strict security headers