Наталя ХандусенкоWork
4 September 2026, 12:42
2026-09-04
"So you don't have to spend hours looking for vacancies": a Ukrainian developer created a personal local tool to automate the job search. How JobRadar works
Searching for a new job often turns into a monotonous routine: developers have to review hundreds of ads on different platforms every day, filter out irrelevant offers, create cover letters, and track interview statuses. Software Engineer Yevgeny Lyashenko faced this problem when he decided to consider new vacancies and projects for the QA Automation / SDET role.
To optimize this process, Yevhen developed his own JobRadar system — a personal local tool that collects vacancies from multiple sources, deduplicates them, filters them, evaluates them using LLM for resume relevance, and displays them in a single feed.
Searching for a new job often turns into a monotonous routine: developers have to review hundreds of ads on different platforms every day, filter out irrelevant offers, create cover letters, and track interview statuses. Software Engineer Yevgeny Lyashenko faced this problem when he decided to consider new vacancies and projects for the QA Automation / SDET role.
To optimize this process, Yevhen developed his own JobRadar system — a personal local tool that collects vacancies from multiple sources, deduplicates them, filters them, evaluates them using LLM for resume relevance, and displays them in a single feed.
“Everyone who has looked for a job knows this rather unpleasant routine: you sit and look at vacancies, read them, decide whether you are interested or not, write cover letters, track the status of the dialogue with company representatives… Over time, you stop understanding whether you have already seen a vacancy, whether you responded, when it was, what you stopped at, what you told about yourself,” Yevhen Lyashenko shares on LinkedIn.
How JobRadar works: from collection to Telegram
Architecturally, the tool is built according to the chain: sources (DOU and Djinni, etc.) → deduplication → L0 filter → LLM scoring for profile compliance → Telegram notifications → web rendering. The project's engineering stack also includes Playwright and pytest autotests
Main technological solutions and capabilities of the tool
Two-stage filter to save tokens: at the L0 stage, a cheap deterministic filter based on regular expressions works. It cuts off knowingly irrelevant levels, titles, relocations and vacancies with salaries below a specified threshold. Only those offers that have passed the initial check are sent for evaluation by the neural network.
Deep scoring and profile “boundaries”: the system generates not just a general score for the resume, but a detailed matrix (strong, gap, partial). In addition to the CV, the profile has a block of “boundaries” (for example, “Python is not a working language” or “Playwright is ownership, not daily hands-on”), which the model must interpret as a strict gap. This makes the assessment much more accurate.
Smart profile creation: no need to manually enter the stack — just paste the CV text. JobRadar itself highlights and groups technologies, determines the level (Senior/Middle, etc.) based on the first mentions and years of experience, and then allows you to invalidate or add skills.
Deduplication and memory: Each job has its own unique fingerprint. If the same position is published on DOU and Djinni, the system glues them into one card. If the job disappears and opens again after more than 180 days, the radar returns it as new.
Two-level search: the search logic is divided: “Role” collects broad market feeds, and the “Stack” field creates additional narrow queries (for example, under Playwright or pytest) to retrieve what is lost due to platform delivery limits.
Full control and locality: the tool runs on the user's own API key (Anthropic, OpenAI or local Ollama). All data, database and Telegram tokens are stored exclusively on the local machine.
Convenient interface and tracking: the web interface includes a status system (new, applied, pre-screen, tech, etc.), a feedback calendar, analytics of popular market skills, a cover letter generator, and a processing log. Radar self-monitoring is also implemented: if no new vacancies have appeared in N hours, the developer receives a notification in Telegram about a possible parser crash.
Searching for testers to expand functionality
JobRadar is currently optimized for QA, QA Automation, Front-end, and Back-end roles at Junior, Middle, and Senior levels.
“To expand the roles supported by the tool, we need testers — people who are interested in trying the tool and checking how it works on other roles, stacks, or technologies,” notes Yevhen.
The tool runs locally and is available on GitHub .
“There is no crowd of applicants, and the chances of getting on the shortlist increase exponentially.” 26 sites where job searching will be more effective than LinkedIn and Djinni