AI got me laid off. So I built an AI to get me hired
Let me get the irony out of the way first: I was let go recently because of AI, and now I'm using AI to find a job.
Some people might find that ironic, others might just get confused. But to me AI is a tool, and a powerful one. It saves me time, which is the whole reason I reached for it here. You wouldn't blame the thesaurus in a word processor for getting someone fired, right?
But this wasn't some neat redemption arc. It was me on a random Tuesday, after scrolling LinkedIn for a while, and realising I'd just read the same posting under three different titles. I had forgotten how job hunting is more triaging than searching. You wade through dozens — hundreds? — of listings to find the two worth your real attention, and by the time you find them you're too exhausted to write a decent application for either. I wanted the wading gone.
How it actually works
You might assume that I told the AI assistant to go to the internet and find me jobs. I didn't, because that would be wasteful and not very efficient.
Instead, I put on my vibe coder hat and thought about what was deterministic and what needed reasoning. Finding the jobs is a mechanical step. A scraper pulls listings off job boards, applies a first gate and discards anything that is not on my list of jobs I'm looking for, then throws out the duplicates, and finally drops anything I've already seen or already said no to. No AI involved. Scraping is a boring, solved problem, and it's reliable because it's dumb. It does the exact same thing every time and costs me nothing to run.
The jobs that survive are handed to an AI model. And the model does one job: read each surviving listing against a brief I wrote about what I'm after, and tell me how good a fit it looks. Those land on a dashboard I've also built that displays the company name, a link to the job ad, what they're after, and a verdict for each one, plus a rough score for how well my CV matches the posting.

This is the split I think makes all the sense: The slow, expensive, decision-making part only ever touches the small pile that already made it past the cheap, instant part. Why should I pay a language model by the token to do deduplication that a regex does better and faster?
My laptop does the thinking most times
I lean on my Claude Pro plan hard. I've been working on a lot of projects that basically get built by me talking to Claude, and a Pro plan does not stretch as far as you'd hope once you're vibe-coding every day. The allowance can drain really fast, and skimming job ads is not how I want to burn it.
So the judge that runs by default sits on my own machine. It's free, offline, and my CV never has to leave the laptop. I'm using Ollama with a Gemma 4 model with 26 billion parameters. It's smart enough to bin the obvious no's. If I ever feel the local AI isn't scoring the job ads quite right, I can always spend a little of the cloud budget on a sharper second read. Same brief, better judgment, paid for only where it earns its keep.
Because my setup is kind of powerful but not that powerful for running a local AI, the whole workflow has to run for at least 30 minutes. And because my time is too precious for me to be staring at a screen while this runs, I added a couple more things to make this truly hands-free:
- The script runs with
caffeinateso my Mac never goes to sleep while it's searching for jobs and scoring them - When the script ends, it sends me a notification to my Ntfy.sh server and my phone pings telling me the search is over.
Drawing the line
The AI doesn't apply to anything automatically nor does it decide what fits me. Sometimes it'll cheerfully tell me a role scores 80 out of 100 against my brief. So, because LLMs are fallible and because it doesn't know whether a company smells off, I have the last say on the list that it comes up with.
When I pass on a role I leave a quick note on why, and that loops back in so I stop getting shown its cousins. But I write the note. I'm happy to let the model do the reading, but I make the final call.
Of course I can appreciate the irony in all of this. Somewhere behind every application I send, there's almost certainly a system scoring my CV the same way mine scores their ad. I'm just using the tools I have to try and get noticed, and hoping that somewhere on the other end there's a human who'll look at what I have to offer and give me a chance.