An end-to-end AI agent that pulls every CV from Indeed.ae and your WhatsApp inbox, reads each one, scores it against your job description, and ships a ranked, searchable HTML dashboard of your top 10 candidates. Done in one afternoon. Total API cost: under one US dollar.
Each stage feeds the next. Claude runs extraction, scoring and ranking automatically — you manage the inputs and review the shortlist. This is a human-in-the-loop workflow: the agent never contacts candidates or makes a hiring decision.
Pull CVs from Indeed.ae folder + unzip the WhatsApp archive. Normalise PDF, DOCX and image into one text pool.
AI reads every CV. Extracts name, phone, email, nationality, UAE experience, languages and retail/sales background.
Claude scores each candidate against your weighted job rubric on a 0–100 scale and ranks the full list.
Generates a searchable HTML dashboard — filter by score, language and experience. Top 10 flagged. Excel export.
Each step is clearly split between what you do and what the agent does — with the actual prompts you can copy-paste into Claude Code.
Two sources feed the agent: Indeed.ae (1,000+ CVs from your employer dashboard) and 40 WhatsApp CVs sent by friends, agencies and walk-ins. This step merges them into a single input folder the agent will process.
~/Downloads/indeed-cvs/ automatically.
~/Downloads/whatsapp-cvs/.
Drop the Indeed.ae job description into the agent. The JD becomes the scoring rubric. The agent extracts required skills, experience level, language requirements, nationality preferences, education minimum, and any deal-breaker criteria.
Claude Code processes all 1,040 CVs one by one. For each file (PDF, DOCX or image), the agent extracts structured data into a master JSON. Images are OCR'd. Scanned PDFs are parsed. Badly formatted CVs are flagged, not skipped.
The agent scores every candidate against the weighted rubric, ranks all 1,040 and writes a self-contained HTML file you can open in any browser. Searchable. Filterable. Sortable. Top 10 highlighted. Export to Excel in one click.
Paste your JD and the agent auto-populates these weights. You can adjust before running. Everything below is editable — the rubric is a starting frame, not a verdict.
| Criterion | Weight | How AI scores it | Deal-breaker? |
|---|---|---|---|
| UAE work experience Retail, FMCG, promotions, events |
25 | 2+ yrs = 25 · 1 yr = 15 · <1 yr = 5 · None = 0 | Yes — 0 UAE exp auto-drops below rank 900 |
| Retail / sales background Supermarket, mall, FMCG, brand |
25 | Promoter = 25 · Sales/retail = 18 · Customer-facing = 10 · Unrelated = 0 | Soft — strongly preferred |
| English fluency CV written in English used as proxy |
20 | Fluent EN = 20 · Mixed = 12 · Non-English only = 5 | Near-breaker for Dubai retail |
| Arabic speaker Native or professional |
10 | Arabic listed = 10 · Not listed = 0 | No — bonus only |
| Visa / availability Visit, transferable, freelance |
10 | Visit = 10 · Transferable = 8 · Own = 6 · Requires new = 2 | No — affects speed to hire |
| Education Min secondary school |
5 | Degree = 5 · Diploma = 4 · Secondary = 3 · Not stated = 1 | No |
| Immediate availability Can start within 2 weeks |
5 | Immediate = 5 · 1-month notice = 3 · Not stated = 2 | No |
The agent writes one self-contained file. Open it in any browser. Search, filter, sort 1,040 candidates instantly. Top 10 highlighted. Print or export to Excel.
| # | Candidate | Nationality | UAE exp | Languages | Visa | Score | Status |
|---|---|---|---|---|---|---|---|
| ★1 | Sarah Mohammed Al-Farsi Lulu Hypermarket · 3 yrs · Indeed | UAE National | 3 yrs | EN · AR | Own | 94 | Shortlist |
| ★2 | Priya Rajan Nair Carrefour UAE · 2.5 yrs · Indeed | Indian | 2.5 yrs | EN · HI | Transfer | 91 | Shortlist |
| ★3 | Maria Santos Cruz Spinneys Dubai · 2 yrs · WhatsApp | Filipino | 2 yrs | EN · FIL | Visit | 88 | Shortlist |
| 4 | Fatima Al-Qasimi Landmark Group · 1.5 yrs · Indeed | Egyptian | 1.5 yrs | EN · AR | Transfer | 82 | Shortlist |
| 5 | Ravi Kumar Sharma Noon.com · 1 yr · Indeed | Indian | 1 yr | EN · HI · UR | Own | 79 | Shortlist |
| 6 | Aisha Benali Morocco — no UAE exp · Indeed | Moroccan | 0 yrs | EN · FR · AR | Visit | 48 | Archive |
The DIY Recruitment workflow was built the same way the DIY Marketing coach was — by stacking Claude Code with a few open libraries and a clear set of prompts. Here's the build log, in order.
Create the three folders the pipeline writes into. Indeed CVs and WhatsApp CVs land in separate sub-folders so the agent can tag the source in the final JSON.
~/Downloads/indeed-cvs/~/Downloads/whatsapp-cvs/~/Downloads/all-cvs/ — merged poolClaude Code orchestrates the agent. Python handles the file plumbing — PDF text, DOCX, images and ZIP extraction.
npm i -g @anthropic-ai/claude-codepip install pymupdf pdfplumber python-docx pillow pytesseract playwright openpyxlplaywright install chromiumANTHROPIC_API_KEY into .envPaste the browser-agent prompt into Claude Code and point it at your Indeed employer dashboard. It logs in, walks the applications list page by page, clicks Download CV on each row, and saves the file with the candidate's name.
WhatsApp's "Export chat" produces a ZIP of every attached file. Unzip it, then copy everything (PDFs, DOCX, images) into the merged pool.
Drop your Indeed.ae Promoter JD into the agent. Claude extracts requireds, preferreds and deal-breakers, and proposes the 7-criterion weighted rubric (see Section 03). Tweak the weights, then approve.
rubric.json for the audit trailOne Claude Code command kicks off the full extraction loop. PDFs are parsed for text; scanned PDFs and image CVs are OCR'd; the agent writes 15 fields per candidate.
Second Claude Code command reads candidates.json and writes a self-contained dashboard. Search, eight filters, sortable table, top-10 highlight, Excel-export button.
Open the HTML in any browser. Sanity-check the top 10 against the original CVs (one-click view). Export to Excel for HR records. Send WhatsApp interview invites from your own number — never from the agent.
Everything is either bundled with Claude Code, free on your existing accounts, or open-source. Total recurring cost: one Claude Pro seat.
Drives Playwright to download CVs from Indeed.ae. Orchestrates the full agent loop. Writes the output HTML. Your CLI AI worker.
Reads each CV (PDF / DOCX / image), extracts 15 structured fields, scores against the rubric. Runs in batch — ~1,000 calls via the Anthropic API.
PyMuPDF / pdfplumber for PDFs. python-docx for Word. Pillow + pytesseract for image CVs. zipfile for the WhatsApp archive.
Headless Chromium for Indeed.ae bulk download. Logs in, navigates the applications list, downloads every CV without a single click from you.
Writes a formatted XLSX workbook from the ranked candidate JSON. Colour-coded score bands. One-click export from the HTML dashboard.
Self-contained single HTML file. No server. Open in Chrome / Edge. Search, filter, sort 1,040 candidates. Print-ready. Share by WhatsApp.
Five lanes, one day. Setup, ingest, extract, score, ship. By Day 2 you're on WhatsApp with the top 10.
DIY Recruitment runs in your account, on your data, under your control. If you'd rather watch over my shoulder while it runs, send the JD and your application source over WhatsApp — same playbook, run for you.