Three hundred and forty-one. That’s how many resumes hit my inbox when I posted one part-time contractor role — one — with the word “remote” in the title. I did not sleep well that week. Not because the job was hard to define. Because I looked at that number and thought: there is no version of my life where I read all of these.
I’d budgeted two hours for hiring that week. Two. I had a client deliverable due Thursday and a kid’s dentist appointment I’d already rescheduled twice. The idea that I was going to individually read 341 PDFs, most of them named “Resume_Final_Final_v2.pdf,” was a joke my calendar was playing on me.
So here’s what I actually did — the dumb first attempt, the thing that worked, the thing that almost cost me a great hire, and the rules I run by now. No guru nonsense. Just what happened.
First Move: Keyword Filtering, Which Felt Smart and Was Actually Dumb
My first instinct was the one every small-business owner reaches for: control-F. I made a list of words the job needed — “Shopify,” “email marketing,” “3+ years” — and started scanning for matches. It felt efficient. It felt like I was being rigorous.
It was garbage.
I filtered out a candidate — I’ll call her Priya — because her resume said “e-commerce platforms” instead of “Shopify.” She’d run three stores on it for four years. She just didn’t happen to type the brand name because her most recent job called it “the platform” internally, like everyone does after year two at any company. My keyword search didn’t care. It flagged her as a non-match and I almost never saw her application at all — I only found it later, doing a manual spot-check out of guilt.
That’s the problem with keyword filtering: it rewards people who are good at writing resumes for robots, not people who are good at the actual job. Those are sometimes the same person. Often they are not. I was optimizing for the wrong skill entirely, and I only noticed because I got lucky and double-checked.
What Actually Worked: AI as a Reader, Not a Judge
Once I admitted keyword search was just theater, I tried something different. I fed batches of resumes to an AI assistant and asked it to do the boring, mechanical part of reading — not the deciding part. Specifically, three things:
- Summarize each resume in three sentences: what they’ve done, how long, and any obvious specialty.
- Flag whether each application clearly met, possibly met, or clearly missed my three non-negotiable requirements (for this role: async availability across a 5-hour time difference, 2+ years doing customer-facing support, and comfort with a specific invoicing tool I wasn’t going to spend a month teaching from scratch).
- Pull out anything unusual worth a human look — a career gap with an explanation attached, a portfolio link, a cover letter that actually mentioned my business by name instead of a form-letter template.
The output wasn’t a ranked list of winners. It was more like a triage nurse — here’s who’s clearly not a fit, here’s who’s clearly worth your time, here’s a messy middle pile that needs a human eyeball. That messy middle pile turned out to be where most of the interesting people were hiding, which, in hindsight, tracks. The candidates who write the cleanest, most keyword-stuffed resumes are often the ones who’ve done this fifty times, not the ones who’d actually be great at the job.
In real numbers: 341 applications became roughly 40 “clear no,” 260-ish “worth a fast human skim,” and about 40 “read this one properly.” That’s a workload I could actually do in an evening with a glass of wine instead of a full workweek I didn’t have. I still read every single resume in that last pile myself, start to finish. The AI didn’t decide anyone was hired. It decided who I looked at first.
The Backfire: Trusting the Score Instead of the Person
Here’s the part I’m less proud of. A few weeks later, hiring for a different role — a subcontractor for design work — I got lazy. I asked the AI tool to assign each resume a numeric score, 1 to 10, based on fit. And then I did the thing you’re not supposed to do: I sorted by the number and started from the top.
A candidate named Marcus scored a 4. Low enough that on a normal week, tired and behind on invoicing, I would have skipped him entirely and moved on to the 8s and 9s. The reason he scored low was almost funny once I understood it: he’d never worked a formal “design” job. He’d spent six years doing menu layouts and promotional graphics for a family restaurant chain, plus freelance flyer work for local bands. No agency name. No design-adjacent job title. The tool had nothing to pattern-match against, so it scored him like a stretch candidate.
I only looked at his portfolio because I was doing a final gut-check on the whole pile before sending rejections, more out of a nagging feeling than a plan. His work was clean, fast-turnaround, and — this is the part that actually mattered for my business — he was used to working with people who had zero design vocabulary and needed things explained in plain English. That’s exactly what I needed. He’d have been filtered out by a number I made up the rules for, based on patterns that reward “has done this exact job title before” over “can actually do the work.”
That one scared me straight. A score feels objective. It has a decimal point of false confidence built into it. But it’s a reflection of what’s common in resumes that have looked like this before — and unconventional backgrounds, career-changers, self-taught people, and folks re-entering the workforce are, by definition, going to look unusual against that pattern. The scoring didn’t know Marcus. It knew what past “successful-looking” resumes tend to say, and he didn’t say it that way.
The Ground Rules I Use Now
After the Marcus near-miss, I set actual rules for myself, because “I’ll just be careful” is not a system, it’s a hope.
- AI narrows the pool. It never picks the winner. I use it to sort 300 into “definitely read,” “maybe read,” and “pass” — never to sort people 1 through 300 and just start from the top.
- No pure numeric scores. Summaries and yes/no flags against specific requirements, fine. A single number that pretends to compress a human being into a digit — no. Numbers get trusted more than they’ve earned.
- I personally read every resume in the “maybe” pile, not just the “yes” pile. That’s where the Priyas and Marcuses of the world live.
- Anyone rejected before a human reads their resume is rejected only on hard, objective, stated requirements — not on a vibe-based fit score. Time zone availability: fine to auto-filter. “Feels like a 4/10 culture fit”: not fine, and also not the AI’s job to decide.
- I spot-check the “no” pile. Not all 260 — but I pull a random 10-15% and read them myself, looking specifically for anyone who got filtered for a dumb reason like Priya’s Shopify problem. If I find one, I know the filter needs adjusting, not just that person.
The Part I Won’t Pretend Isn’t Uncomfortable
Here’s the caveat I’m not going to dress up as a tidy bow at the end. AI screening tools learn patterns from data, and “what a strong candidate’s resume has historically looked like” is not a neutral category. It’s shaped by who got hired before, which is shaped by whatever biases were already baked into hiring — including plenty that have nothing to do with actual job performance. Employment gaps, non-linear career paths, self-taught skills instead of degrees, names and schools that don’t match a “typical” pattern for the role — a tool optimizing for “looks like past successful hires” can quietly punish exactly the candidates who’d diversify or improve your team.
I don’t have a clean fix for that. I’m not an HR person, I’m a person who now occasionally hires other people and is trying not to be a jerk about it or get sued, ideally both. What I can tell you is what I actually double-check now: I look specifically at who got filtered out for “soft” reasons — job title mismatches, gaps, unconventional backgrounds — versus who got filtered for hard, factual mismatches. If the “soft” pile is where all my career-changers and non-traditional candidates are clustering, that’s not a them problem. That’s a “my filter has a bias and I need to fix the filter” problem.
You cannot outsource judgment. You can outsource reading. Those are different jobs, and confusing them is exactly how you almost lose your best hire to a number a machine made up based on people who came before her.
Marcus got the job, by the way. Six months in, he’s still the person clients say is easiest to work with. A 4 out of 10. I think about that number more than I’d like to admit.