cd /news/ai-agents/i-let-an-ai-agent-run-my-job-search-… · home topics ai-agents article
[ARTICLE · art-71993] src=find-best-job.com ↗ pub= topic=ai-agents verified=true sentiment=· neutral

I let an AI agent run my job search: the real numbers, including the LLM bill

A backend developer in São Paulo built an AI agent to autonomously run his remote-job search and published the first four days of data, including the LLM bill. The agent discovered 360 roles from 11 sources, applied to 9, and received 2 recruiter replies, but the cost per application averaged $3.36 on a premium model, which the developer says makes the product nonviable without optimization. The developer also found that ATS anti-bot measures forced a real headed browser setup, and that the most valuable function was filtering out 87% of roles to avoid spamming recruiters.

read4 min views1 publishedJul 24, 2026

I'm a backend developer in São Paulo looking for a remote role paid in USD. The real grind of that search isn't interviewing — it's the pipeline: trawling job boards, judging fit, filling the same Greenhouse/Lever/Workable forms again and again, then watching the inbox so a recruiter reply doesn't rot for two days. So I built an agent that runs the entire cycle autonomously, and pointed it at my own search. This is the data from the first four days — including the part that almost killed the project: the LLM bill. One honest caveat up front: this is a single search, mine, so n=1.

What the agent actually does #

Discovers roles from 11 sources on a scheduler — remote job boards, ATS listings, hiring platforms.Scores every role against my profile: salary floor, timezone overlap, stack, work-authorization constraints. Low fit never becomes an application.Applies in a real browser: fills the real form with my canonical answers, uploads the résumé, clicks submit — saving a screenshot right before and right after.Follows up: reads confirmations and recruiter replies in the mailbox, classifies them, and answers from a Q&A bank I control.** Books**interview invites into my calendar working hours — wired up, but none of the agent's applications has reached that stage yet. It's been four days.

Four days of real numbers #

| Roles discovered (11 sources) | 360 |
| Passed my fit rules | 47 (13%) |

| Applications submitted end-to-end | 9 | | Recruiter replies received — answered by the agent | 2 | | Rejections so far | 2 | | Evidence screenshots captured | 230 |

Surprise #1 — the filter is the product #

The most valuable thing the agent does is say no. 87% of everything it discovered never became an application, because a salary floor, a timezone window or a work-permit rule failed. Every one of those is a form I didn't fill and a recruiter who didn't get spammed. The auto-apply tools that promise “1,500 applications a day” invert this ratio, and it shows — recruiters can tell, and ATSs are responding with fraud detection. Applying less, better, is the only version of this category that survives contact with the hiring side.

Surprise #2 — the LLM bill #

I added per-call cost telemetry to every stage. The two most recent applications — same agent, same premium model — cost $6.33 and $0.39. The expensive one burned about 8 million cache-read tokens, because the agent re-reads large chunks of page DOM on every turn of its form-filling loop. Complex form, more turns, more re-reads — the cost compounds quietly.

| Apply agent, mean per application (premium model, as run) | $3.36 | | Same workload repriced on a small model | $0.59 | | Job scoring, per role | $0.11 → $0.002 layered | | Inbox classification, per email | $0.03 → $0.0005 layered | | Target for a viable product | ≤ $0.03 per application |

The honest verdict: at premium-model prices this product cannot exist. The path down is not just “use a cheaper model” — it's a DOM diet (strip pages to the form skeleton before they enter context), hard turn caps, and layering (a cheap model for extraction, a better one only for eligibility decisions and answers). I'm publishing these numbers because every “AI agent” product is quietly fighting exactly this battle, and almost nobody shows the meter.

Surprise #3 — the web is hostile, even to honest automation #

ATS forms live behind Cloudflare and assorted anti-bot walls, and headless browsers are detected trivially. What ended up working: a real, headed Chromium running under a virtual display (Xvfb) on a server, with WebGL intact and no automation flags leaking. The rule I converged on: the less you fake, the less you get detected — the browser's own real user agent, physically consistent viewport and screen, clock following the exit IP. Every clever spoof I tried was itself a fingerprint.

The constraints I won't relax #

Max 5 applications a day. Mass auto-apply is spam, and the hiring side is arming itself against it.It never invents facts. Work authorization, salary expectation, availability — answers come from my Q&A bank, or the form doesn't get submitted.No LinkedIn, no Indeed. Both prohibit automation and suspend accounts. Nobody's professional identity is worth it.Evidence for everything. Pre- and post-submit screenshots plus a full answer log, for every single application.

What's next #

The agent keeps running my own search while I turn it into a product: find-best-job.com. The free tier does 5 full applications a month — you paste the job link, the agent does everything, evidence included. If you want to push back on the engineering or the ethics, I'm genuinely interested: hello@find-best-job.com.

── more in #ai-agents 4 stories · sorted by recency
── more on @greenhouse 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain — perfect for shipping the agent you just read about.

$git push zahid main
Live at https://your-agent.zahid.host
Get free account → Pricing
from €0/mo · no card required
LIVE [news/i-let-an-ai-agent-ru…] indexed:0 read:4min 2026-07-24 ·