DEV Community

shubhamkumbhalkar
shubhamkumbhalkar

Posted on

I automated my job search across 7 job boards

Job hunting is a part-time job on top of your job. The worst part isn't the interviews, it's the daily grind of refreshing a dozen career pages, copy-pasting the same details, and rewriting the same cover letter with a new company name.

So I built a small tool to do the repetitive 80% and leave the 20% that actually needs me.

What it does

Every morning it:

Scans 7 job platforms (Lever, Greenhouse, Ashby, SmartRecruiters, Workday, Indeed/Google via JobSpy, Hiring.cafe).

Overall workflow of the system

Scores each opening against my resume from 0 to 100 with an LLM.

Daily screened jobs that are above threshold

For anything above my threshold, drafts a tailored cover letter and a "why this company" answer.

Apply Link and description

Sends me one Slack card per role, with the apply link.

Cover Letter and why this company

Then in Slack I tap the link and apply, react ✅ to mark it applied (it tracks the pipeline), or react 📞 to get interview prep, STAR stories mapped to likely questions, back in the thread. A weekly report summarizes how many roles I saw, scored, and applied to.

The one rule: keep a human in the loop

The tool does not auto-submit applications. That was deliberate. Blasting auto-filled applications is bad for employers and bad for you. The tool removes the toil (finding, scoring, drafting, tracking); I still make every apply decision and do every interview.

How it's built

  • Python, with a thin client per platform, so adding a board is one small file.
  • A pluggable AI backend: a local model for free, or the Anthropic API for speed.
  • Deduplication by job id and by title+company, a per-company cap per run, and platform balancing so a single board doesn't crowd out the rest.
  • A cron job runs the daily scan; a Slack bot watches reactions.

What I learned

  • Scoring against your actual resume, not just keyword matching, cuts the noise dramatically.
  • The Slack "one card per role, react to act" loop is what made me actually keep up with it.
  • Keeping a human in the loop made it something I trust to run every day.

Try it

It's open source (MIT): https://github.com/shubhamkumbhalkar/lever-auto-apply

PRs welcome, especially new platform clients. If you try it, tell me what breaks.

Top comments (0)