ABAkash Bansal

Home / Notes

Scenario · AI & automation

Automating résumé screening for a two-person recruiting agency: Gmail in, ranked shortlist out

How a small recruiting agency can automate resume screening: a Gmail résumé parser that scores applicants unattended, the 4-week build, cost and legal traps.

Short answer

A small agency can automate résumé screening without a new ATS: read applications from Gmail, extract each résumé, score it against the role's must-haves, and send a ranked digest with reasons every morning. It's roughly a 4-week AI build starting around $8,000, with running costs of cents per résumé. Humans still make every decision.

Illustrative scenario. The founder in this story is a composite, not a real client. The process, costs and decisions are drawn from builds I have done; names and business details are invented to show how a build like this typically goes.

Who is the founder, and what was breaking?

Jordan is a composite, an invented founder built from the problems small agencies describe. Jordan and a business partner run a two-person technical recruiting agency in New York, placing backend and data engineers at Series A and B startups. They post roles on several job boards and their own site. Every application lands in one shared Gmail inbox.

On a busy week that inbox gets hundreds of applications. Most are clearly wrong for the role, a few are excellent, and the excellent ones go cold while two people dig through the rest. An often-cited Ladders eye-tracking study found recruiters spend about 7.4 seconds on an initial résumé screen. Jordan's problem wasn't speed per résumé. It was the backlog: an excellent candidate who applied on Tuesday got a reply on Friday, after a competitor had already called them.

Buy an ATS, hire a VA, or build the automation?

Jordan built, but only after ruling out the cheaper options first. If you are in the same spot, do that too.

OptionBest forNot for
ATS with built-in AI rankingAgencies whose applications already flow into the ATSApplications scattered across inboxes and boards the ATS doesn't ingest
Virtual assistant doing a first passLow volume, simple criteriaTechnical roles where "knows Kafka" and "used Kafka once" look the same to a non-engineer
No-code automation (Zapier-style)Moving attachments into a sheetScoring with judgment, deduplication, and quota-safe backfills of thousands of emails
Custom AI workflowA niche where your screening criteria are the agency's edgeAgencies without a clear, written idea of what "good" looks like for each role

Two facts tipped it. Their applications already lived in Gmail and would stay there. And their edge as a technical agency was knowing which signals in a backend résumé actually predict a good hire, which generic ATS ranking doesn't know.

Why me, and what's the evidence?

I've built this exact pipeline before. Aviate reads inbound résumés from Gmail, scores them, and surfaces the best ones unattended. The parts that took real engineering were not the AI call. They were reading a large inbox without blowing the Gmail API quota (Aviate uses Firestore cursor pagination plus a bounded concurrency pool) and making sure each résumé is processed exactly once. On the scoring side, NextMantra scores résumés against a role's rubric with several LLMs, in production.

What was in scope, and what got cut?

Week by week: the 4-week build

Week 1: Gmail access, deduplication, backfill

OAuth consent for the shared inbox, a filter for application emails, and an idempotency key per message so nothing is scored twice. Quota planning comes first. Google's published limit is 6,000 quota units per user per minute. messages.get costs 20 units, or 60 in the full or raw format, and messages.attachments.get costs 20 (Gmail API quota). At roughly 80 units per application, one mailbox tops out around 75 applications a minute. That is plenty for live traffic, but a 90-day backfill has to be paced. The bounded concurrency pool from Aviate handles exactly that.

Week 2: extraction and the scoring rubric

Text is extracted from each attachment, with failures (scanned PDFs, password-protected files) routed to a "needs a human" pile instead of silently dropped. Jordan wrote the criteria for three live roles in plain English, and we turned them into a structured rubric the model scores against. The rule we set: every point awarded has to quote the line in the résumé that earned it.

Week 3: digest, feedback, and an evaluation set

The morning digest went live. Jordan and the partner marked every top-10 candidate "agree" or "disagree". Fifty of their past placements and rejections became a small evaluation set, so each rubric change could be checked against real decisions before going live.

Week 4: hardening and handover

Retries with backoff on quota errors, alerts if the pipeline stalls, a monthly score-distribution report for fairness checks, and a written handover: how to add a role, change a rubric, and rotate credentials.

What does automated résumé screening cost?

Line itemCostNotes
Build: AI feature or agent, fixed quoteFrom $8,000My published starting price. The exact figure for a workflow like this comes out of scoping.
Gmail APINo per-call feeSubject to the quota limits above
LLM scoring, fast modelAbout $0.0005 per résumé, my rough estimateAbout 3,000 input and 400 output tokens at Claude Haiku 5.5 list prices ($0.10 / $0.50 per million tokens)
LLM scoring, stronger modelAbout $0.01 per résumé, my rough estimateSame tokens at Sonnet 5.5 list prices ($2 / $10 per million). Worth it for senior roles.
Hosting and storageSmall, fixed monthlyServerless functions and a small database in the agency's own cloud account

Even at a thousand applications a month on the stronger model, the AI bill is around ten dollars. The real cost is the build, and the ongoing cost is keeping the rubrics honest. For a rough build range on your own workflow, try the app cost calculator.

What went wrong, and what surprised them?

Is automated résumé screening legal for a New York agency?

It can be, and the law shapes the design. New York City's Local Law 144 applies to employers and employment agencies. It bars using an automated employment decision tool without a bias audit in the past year, and it requires a published audit summary and candidate notice 10 business days before use (NYC DCWP). It covers tools that "substantially assist" a decision, and coverage notes say an audit is needed even when a tool only screens early in the process (Perkins Coie).

Bias is not a theoretical risk. Reuters reported that Amazon abandoned an experimental résumé-scoring engine after it learned to downgrade résumés containing the word "women's" (Reuters, 2018). So the build keeps names, photos and addresses out of the prompt, scores only job-related criteria, logs the reasons for every score, and exports the data an auditor would need. Whether Jordan's use counts as an automated employment decision tool is a question for an employment lawyer. I designed the system so either answer is a configuration change, not a rebuild.

What did launch look like?

A quiet switch-on. The pipeline backfilled the inbox over a weekend at a paced rate. On Monday, the first digest arrived with the top ten candidates for each of three roles, a quoted reason for each score, and a link to the original email. The partners still read every shortlisted résumé themselves. What changed is which résumés they read first, and how fast a strong applicant got a call.

Checklist: automating résumé screening at a small agency

  1. Check whether your existing ATS already does this before building anything.
  2. Write your criteria per role in plain English first. If you can't, no tool will screen well.
  3. Plan for Gmail quota and deduplication before the AI part.
  4. Require quoted evidence for every point the model awards.
  5. Build a small evaluation set from your past decisions and test rubric changes against it.
  6. Never auto-reject. Keep a human on every "no".
  7. Keep demographic signals out of the prompt, log every score, and talk to a lawyer about Local Law 144 if you place candidates in NYC.
  8. Own the cloud account, the code and the API keys (who owns the code).

If your applications live in an inbox and your screening criteria are your edge, this is the kind of AI build I do, from a fixed quote with a working demo every week. Here's how I work. If you're weighing who should build it, read hiring an AI agent developer. If the next step is an AI first-round interview, see building an AI voice interviewer.

Questions founders ask

Can I automate resume screening from Gmail?

Yes. The Gmail API lets an app read new messages and attachments with your permission, within per-user quota limits. A screening workflow watches the inbox, pulls each résumé, extracts the text, scores it against the role's criteria with an LLM, and posts a ranked summary. The engineering is in deduplication, quota handling and reliable parsing.

How much does AI resume screening cost per résumé?

The model cost is small. With about 3,000 input tokens and 400 output tokens per résumé, a fast model like Claude Haiku 5.5 costs a fraction of a cent at list prices, and a stronger model like Sonnet 5.5 about a cent. The bigger costs are the one-time build and keeping the scoring criteria up to date.

Is automated resume screening legal in New York?

It can be, with obligations. New York City's Local Law 144 covers employers and employment agencies that use automated employment decision tools to substantially assist hiring decisions. It requires a yearly independent bias audit, a published summary, and candidate notice. Whether your tool qualifies depends on how much you rely on it. Ask an employment lawyer.

Should a small recruiting agency build or buy resume screening software?

Buy first if your ATS already offers AI ranking and your résumés already flow into it. Build when applications arrive somewhere your tools don't reach, such as a shared Gmail inbox fed by several job boards, or when your scoring logic for a niche is your edge over other agencies.

Does AI resume screening introduce bias?

It can. Reuters reported in 2018 that Amazon dropped an experimental résumé-scoring engine after it learned to penalise résumés that mentioned women's organisations. Score only against job-related criteria, keep names and demographic proxies out of the prompt, log the reasons for each score, and audit outcomes regularly.