How we reviewed this: we installed it in Docker on Python 3.12, ran its tests and mock mode offline, and replayed its navigation loop against stand-in pages. We did not point it at a real browser or any real site.
What it does
JevScout, by hqman, connects to your already-open, logged-in Chrome over the DevTools protocol, visits a company’s site, and works toward its job postings — asking Jev which links lead to careers pages, which postings are software roles, and finally whether a posting fits your profile:
Does the link links[i] with text “…” and href “…” lead to jobs, careers, hiring, or open roles?
The granularity is per page, not per link: one request can carry up to 201 questions. Local Python does the filtering first — strip apply links, rank by query overlap, cut to 100 candidates — and the thresholds live in one file.
Its 11 tests pass offline. But they cover the shape, not the journey: the Jev path, the CDP path, the filter and pagination helpers, and the typing helper have no tests at all.
The redirect that empties the report
Following ATS redirects — Greenhouse, Lever, Ashby, Workday — is listed as a capability. In practice the loop compares the URL after the redirect against the queue of URLs it planned to visit. They don’t match, so the posting is never treated as a posting, the fit question is never asked, and the results list stays empty.
We reproduced it with a stand-in: the same posting served from an ATS domain was re-scored as a navigation page, the only high-scoring link was already visited, and the company was marked skipped — while the report still announced jobs found and zero strong matches. For a tool whose entire purpose is the last step, a redirect is not an edge case.
Two more things worth knowing
It can type into whatever is focused. The skill file says twice that it never logs in, never applies and never fills forms. There is a helper that types into document.activeElement — any input, textarea or contenteditable — dispatches input and change events and sends Enter, and it runs right after a Jev-chosen click. Which field receives the text depends on what that click happened to focus. Nothing here presses submit, but the tool’s normal working position is a logged-in browser on a live application form; the demo video ends on one.
Free mode isn’t Jev. --mock, which the README suggests for trying it without a key, produces scores from a hash-based keyword table. Every percentage on screen is invented. Relatedly, an API error is parsed into all-zero scores, so a bad key produces a clean “no jobs found” report rather than an error.
Link text is interpolated into the questions with only quote-stripping, and a high-scoring click passes through a substring check that a hostile domain can satisfy — so a page can influence where the loop clicks next.
What it sends
Only posting pages send body text (up to 6,000 characters) alongside your profile from a config file. The shipped profile is generic — no name, no CV, and there is no upload or apply path anywhere in the code. Results and logs stay local, with no screenshots.
Verdict
A tidy demo with a genuinely interesting decision shape — score a page’s whole link list in one request — that doesn’t survive contact with the thing it’s built for. Fix the redirect comparison and it becomes useful; until then it produces empty reports that look like clean ones.
For browser automation with a safety gate, see jev-browser and voice-browser.
See how it compares with other tools in Best Jev tools, tested hands-on.
Review updated Sep 20, 2026. Numbers quoted from the project are its author's own; we don't publish our own measurements of Jev.