v3.0 · deterministic ats engine

Ship your CV.
Skip the rejection pile.

Open-source ATS scoring paired with AI-powered CV rewriting and country-specific cover letters. Built for people who'd rather get interviews than read rejection emails.

13countries supported
<30sanalysis time
0€forever free
~/shortlist/scan.log
>running ats scanner...
>scan complete
87/100
ats match · shortlist-ready
keywords
92
skills
85
experience
78
format
90
what you get

Two engines. One verdict.

Real ATS scoring done locally in your browser. AI rewriting when you need it. No black-box scoring. No data sent before you click.

01

Deterministic ATS scoring

TF-IDF weighted keyword extraction with hard-skill dictionary boost. Same inputs always produce the same score. No hallucination.

02

AI CV rewriter

Full rewrite with missing keywords injected naturally. Before/after bullet pairs show exactly what changed. No fabrication.

03

Country-aware cover letters

13 countries with real conventions — greeting, length, tone, local norms. An Irish cover letter reads different from a German one.

04

Format parseability

Flags multi-column layouts, tables, missing section headers — the things that quietly break ATS parsing even when scores look fine.

05

Interview Q&A

Eight likely questions, drafted answers in your voice, grounded in your actual CV. Not generic templates.

06

Interview Coach

JD-tailored prep: curveball questions this hiring manager will ask, your lead STAR story, CV red flags they'll probe, and questions you should ask back.

07

LinkedIn Optimiser

Headline, About section and pinned skills — rewritten to mirror the JD so recruiters searching for this exact role actually find you.

08

Recruiter Outreach

Three messages, three jobs: cold DM to the recruiter, follow-up after applying, referral ask for someone at the company. Specific, not generic.

09

Export everything

.docx and .pdf downloads for CV, cover letter, interview prep, LinkedIn copy and outreach messages — ready to send.

workflow

Four steps. One click.

From "I need to apply for this" to "I have a tailored application package" in under a minute.

01

Upload CV

PDF, DOCX or TXT. Parsed locally in your browser — the file never leaves your device.

02

Add JD or URL

Paste the full job description, or drop in a URL and we'll fetch it server-side.

03

Select country

Sets the tone, greeting, length conventions, and cultural norms for your cover letter.

04

Get your package

Score, rewritten CV, before/after bullets, cover letter, and interview Q&A.

reviews

Job seekers ship faster with Shortlist.

Real feedback from people who've used the tool to land interviews in Dublin, Berlin, London, San Francisco, and more.

★★★★★

"Went from an ATS score of 48 to 82 on my Dublin BI analyst applications. Got three interview calls in a week after zero in the previous month."

AK
Aisling K.
data analyst · dublin
★★★★★

"Finally a tool that tells me what's actually wrong with my CV instead of giving a vague vibes-based score. The before/after view is gold."

MR
Marcus R.
product manager · berlin
★★★★★

"The country-specific cover letters alone are worth it. Was applying to roles in three markets and the difference in tone is real."

PS
Priya S.
software engineer · singapore
pricing

Free forever. Seriously.

The whole tool is free. These tiers are what paid plans would look like — if I ever charged. For now, everything is in the Free plan.

Free
0/month

Everything you need to land interviews.

  • Unlimited ATS scans
  • AI CV rewriting
  • All 13 countries
  • Cover letter generation
  • Interview Coach & Q&A
  • LinkedIn & outreach tools
  • .docx exports
Team
0/month

For career coaches and recruiters — free for now.

  • Everything in Pro
  • Up to 5 seats (coming)
  • Shared client folders (coming)
  • White-label exports (coming)
  • API access (coming)
  • Dedicated support (coming)
questions

Frequently asked.

Things people ask, answered honestly.

Is my CV data actually private?
Yes. Your CV is parsed entirely in your browser using pdf.js and mammoth.js — the file itself never leaves your device. Only the extracted text is sent to our server (and from there to Gemini) when you click "Scan & Forge". Nothing is stored. Nothing is logged beyond basic request metadata.
How is the ATS score calculated? Is it accurate?
The score uses TF-IDF weighted keyword matching against a curated hard-skills dictionary, plus format parseability checks — the same methodology as Jobscan and Resume Worded. It's a directional estimate, not an exact match to any specific ATS system (Workday, Taleo, Greenhouse all score differently). The four-axis breakdown shows exactly why you got your score, so you can decide whether to trust it.
Does it really work for all 13 countries?
Yes — each country has custom cover letter conventions baked into the AI prompt covering greeting, length, tone, spelling (British vs American), cultural norms like notice periods in India or visa subclass in Australia. An Irish cover letter genuinely reads different from a German one.
Will the AI fabricate experience I don't have?
No. The AI is explicitly instructed never to invent jobs, dates, degrees, or metrics. It only rephrases content that already exists in your CV to better match the JD's keywords. If something isn't in your source CV, it won't appear in the rewrite.
Why is it free?
This is a portfolio project. It costs approximately zero to run (Netlify free tier, Gemini free tier), so there's no reason to charge. The Pro and Team tiers above are aspirational — they'll only exist if enough people actually want them.
What file formats work?
PDF (text-based, not scanned images), DOCX, and TXT for CV input. Scanned PDFs won't work because the text can't be extracted — re-export from Word or Google Docs as a proper PDF instead.
Can I fetch a JD directly from a URL?
Partially. Generic company career pages usually work. LinkedIn, Indeed, and Glassdoor all block automated access — for those, you'll need to copy-paste the JD text into the field. The tool tells you clearly when URL fetching fails.
Who built this?
Built by Rahul Pagar, a data analyst based in Dublin. This is an open-source portfolio project combining deterministic ATS scoring with AI-powered application materials, deployed on Netlify serverless infrastructure with the Gemini API.
the tool

Let's scan your CV.

Upload your CV, paste a job description, pick your target market, and click Scan & Forge.

Your CV
input_a
Job Description
input_b
Reading your CV...
local scan · ai rewrite · ~20s total
// before score
your original cv
// after score
after rewrite
// improvement
points gained
// jd match
keyword match %
// keyword injection
missing
injected
rate
// country fit
for target
0%
ats match

Calculating...

// application readiness scorecard
Run a scan to see whether this role is worth your time.
// apply if
// better use of time

Strengths what's working

    Weaknesses what to fix

      Matched

      Missing — injected into rewrite

      country fit
      Before / After: the highest-impact bullets, improved to match the JD. Full rewritten CV is below.

      Full rewritten CV

      Your rewritten CV will appear here.
      Your cover letter will appear here.
      // This is what the ATS sees. Your beautifully-designed CV gets stripped to plain text by applicant tracking systems before any scoring happens. Below is the actual text stream — what Workday, Taleo, and Greenhouse read when parsing your file. If something looks wrong here, it'll look wrong to every recruiter screening with ATS.
      // sections detected
        // parseability flags
          // raw text extraction — what the ats actually reads
          // Interview Coach. JD-specific prep that goes deeper than generic Q&A: likely curveballs the hiring manager will throw, the STAR story you should lead with, red flags they'll probe in your CV, and questions you should ask back. Based on this exact JD and your CV.

          // curveball questions the ones that catch people out

          // your lead STAR story open with this

          // red flags in your CV they'll probe have answers ready

          // questions you should ask them signals seniority

          // LinkedIn Optimiser. Your LinkedIn should mirror the JD's keywords so recruiters searching for this role find you. Headline, About section, and Skills — rewritten to match this exact role profile.

          // headline 220 char max — recruiter-searchable

          // about section first 3 lines must hook — that's all that shows before "see more"

          // top skills to pin 50 skills max on LinkedIn — these are the ones to surface

          // Recruiter Outreach. Three messages, three jobs: a cold DM to the recruiter who posted this role, a follow-up to send 5–7 days after applying, and a referral ask for someone already at the company. Specific, not generic.

          // cold dm to recruiter LinkedIn — under 300 chars

          // post-application follow-up send 5–7 days after applying

          // subject line

          // referral ask for a 2nd-degree connection at the company