I Ran My Resume Through an AI 300 Times. Here's Why Fintech Roles Kept Screening Me Out.
300 scored resume-vs-JD reports showed me exactly why the same experience passed generic PM roles and failed the fintech ones I wanted. Same numbers, wrong framing. What ATS tailoring actually is, and what it isn't.
I had strong numbers on my resume and I was still getting screened out. The frustrating part was not knowing where. So I built a tool that scores a resume against a specific job description, tells you the missing keywords and the weak phrasing, and estimates the score an ATS would give you before a human ever sees your name. Then I ran my own resume through it 300 times, against every kind of PM role I was targeting.
The data was uncomfortable. My resume did well against generic product manager listings and failed, consistently, against the fintech and growth PM roles I actually wanted.
Resume advice is mostly guesswork
Most resume advice comes from people who’ve reviewed resumes as hiring managers. That’s useful, but it isn’t the same as knowing how an applicant tracking system scores a document before it reaches a person. ATS doesn’t read like a human. It parses keyword presence, weights it against the job description, and filters below a threshold you never get to see. Running 300 scored reports gave me the one thing job seekers almost never have: actual data on where the gaps were.
My baseline scored 71 to 78 percent against generic PM roles. Against the fintech and growth roles, it dropped to 52 to 61 percent, under most cutoffs. Three patterns were killing it.
Pattern 1: metrics present, framing wrong
I had a real result: grew an auto insurance product line from $120K to $350K per month, 192 percent in six months. I’d written it as a product achievement. Fintech roles scan for growth language, MoM revenue growth, ARR expansion, conversion lift, revenue per user. My bullet described what I built, not what I grew. The fix wasn’t adding keywords, it was reframing the same number in growth-PM vocabulary. Same result, different signal.
Pattern 2: domain language mismatch
I’d spent two years in insurance-adjacent fintech. My resume said “auto insurance vertical” and “embedded widgets.” The job descriptions said “embedded finance,” “partner distribution,” “B2B2C channel,” “insurance-as-a-service.” Same things. The ATS doesn’t know that. The fix is to map your company’s internal vocabulary to the industry vocabulary in the JDs you’re targeting. The JD is literally telling you which words it wants.
Pattern 3: builder language, not outcome language
“Built partner pages.” “Designed the in-app quote flow.” “Launched embedded widgets.” Those are feature descriptions. Growth-stage fintech PMs aren’t selected for shipping features, they’re selected for moving metrics. Rewritten: “Expanded top-of-funnel via partner channel, driving 40 percent of new insurance activations.” Now it’s an outcome, and both the machine and the human read it differently.
Tailoring is not keyword stuffing
The instinct after reading this is to dump the missing keywords in. That’s stuffing, and it looks like a list: “Experienced in MoM growth, ARR, embedded finance, B2B2C, conversion optimization.” It signals you know the words, not the work, and a good recruiter sees through it in three seconds.
Real tailoring is different. You give the model your actual experience, the real outcomes and context, and ask it to reframe how that experience is described in the target role’s language. You’re not inventing anything. You’re translating what’s already true into terms the reader expects. One version gets you past the ATS and exposed in the interview. The other gets you past the ATS with something real to talk about.
The system I use now
One resume backbone, infinite targeted variants. The backbone is the canonical version of my experience, every achievement in clear outcome language with real numbers, in my own voice. I never submit it directly. For each application I run the JD through Jobtune, get the gap report, and rewrite the three to five highest-gap bullets. It takes a minute or two, and the result scores 78 to 85 percent against that specific role without adding anything untrue.
The final check is the only one that matters: does every rewritten line still describe something I actually did? If yes, it goes in. If no, I find another way to say the true thing.
So the advice I’d give myself nine months ago is short. Don’t send the same resume to 40 companies. Send 40 versions of the same resume. The work is the same, the metrics are the same. A growth PM role at a fintech and a generalist PM role at an enterprise SaaS are just looking for different signals in the same document, and handing them the same one was a choice. Not a good one.