Hacker News new | past | comments | ask | show | jobs | submit login
Show HN: Save hours in your job search with Python and GPT
5 points by nico 4 months ago | hide | past | favorite | 6 comments
Skip straight to the bottom if you only want to know how to save hours of work in your job searching process just by using two simple python scripts + GPT

As a former startup founder, lately I've been facing the complex challenge of transitioning back into the traditional job market. With no experience in the job searching game for the last 10+ years, I had no idea what I was getting myself into

I still have a lot to go, but one of the most annoying and time-consuming parts of the process of applying to jobs so far, has been just even trying to find the right jobs to apply to

Every jobs site has hundreds or thousands of jobs, they are usually hard to filter. Then when you get the results, you still have to spend a lot of time reading and scrolling through the listings, figuring out which ones are good matches and which ones are not

Even here in HN, every "Ask HN: Who is hiring?" post has hundreds of listings (the February one has 300+ job posts). Reading through them all can take hours, which is super draining. By the time you are done reading, you are almost out of energy, and you haven't even started applying yet

I just wished I had a database where I could do something like:

SELECT summary, why_is_a_good_fit, how to apply, link FROM hn_jobs WHERE remote AND use_ruby AND good_fit

So, I built it. Well, I wrote a couple of python scripts that:

* scrape an "Ask HN: Who is hiring?" post * processes all the listings with GPT * saves all the data in a sqlite3 db

It takes a few minutes to run the whole thing and populate the db (for each listing, a prompt is sent to GPT with questions, a resume and the job listing, GPT returns a json object with answers that get stored in the db)

But after it's done, I can get the absolute best matches for my own resume in seconds

With each result, I get the information about the listing, as well as why it is a good fit for me and instructions on how to apply (including link and or email address)

So far I've probably put more time into this than I've saved (surely there's an XKCD comic about this), but hopefully this hasn't been in vain and my loss can be your gain. That's why below I'm sharing links to the scripts. Please feel free to check them out, use them and modify them to fit your own needs

There is a lot of space for improvement, especially building and tweaking the prompt, which is one of the most challenging things to iterate on. If you try the scripts, make sure to modify the included sample resume, the questions asked and checking that the sample json output structure matches your questions

-> Would love to hear your feedback, suggestions, and also stories about your recent job searching experience in tech!

Thank you

Links to scripts:

* get_ask_hn_jobs.py: gets job listings from HN (make sure to adjust the base url of the "Ask HN: Who is hiring?" page to scrape) - run this first to populate your local db - https://gist.github.com/nicobrenner/88cc2aaf4fde7cbb119c6ca67fd50bc2

* ask_gpt_job_listings.py: enriches jobs listings from db using GPT (you need to add your own OpenAI API key, make sure to modify these variables: resume, roles, ideal_job_questions, prompt, and also check that the sample structure of output_format matches your prompt/questions) - run this after running get_ask_hn_jobs.py - https://gist.github.com/nicobrenner/dc1e6968dcd396c6367a63ac4c61f5d3

* filtered_job_listings.sql: query for sqlite3 db that gets best job listing matches - you should tweak the query to filter according to your preferences - https://gist.github.com/nicobrenner/f8da15c99c45c229c03c89dae1ed94d6




I’ve been having very similar issues lately. I’ve tried a few sites posted here before that scraped the same posts but filters don’t work very well so it was back to step 1. I’m gonna take it for a spin and try it out, but it sure looks promising and easy to tweak for my own needs! Great work!


Thank you There’s a lot more that can be added to it, like scraping other websites, a nice interface and automatic resume personalization for the matched job

Would love your feedback after trying it out


i did that as a small side project :) you can check it out here, it's free, would love your thoughts: https://gettjalerts.com/


Just tried it. It's great to have search and filters. Is there a way to get a match based on resume?

Something like this: https://hnresumetojobs.com/


Yes, that's the next feature I was going to work on. I have already setup semantic search. I just need to add ability to upload->read->vectorize resume and do a similarity search on those vectors. Shouldn't be too hard.

Won't be able to do this in the near future. Quite backed up at work.


Cool, looks great, thank you!

Will try it out

What I want to do next is automate the application process

Currently I can produce custom resumes and cover letters based on a base resume and some examples, but then I still need to manually produce the final documents, visit the listing website and fill out all the forms/upload documents

It’s still pretty challenging to generate good customized resumes. Have you experimented with that at all?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: