- Published on
Using GPT-4 to Analyze Job Descriptions and Spot Red Flags Before You Apply
Using GPT-4 to Analyze Job Descriptions and Spot Red Flags Before You Apply
Every job description is a negotiation document disguised as a role summary. Companies bury warning signs in plain sight: impossible requirements, scope creep, salary evasion, and coded language about culture. You can read 300 job descriptions a week and miss half the red flags—or you can let GPT-4 read them for you.
The analysis prompt
Feed this prompt to GPT-4 alongside any job description:
Analyze the following job description for red flags. Score each category from 1 (no concern) to 5 (major red flag) and explain your reasoning briefly.
Categories:
1. Scope creep — Does this role ask one person to do the work of a team?
2. Impossible requirements — Years of experience exceeding technology age, or contradictory skill combinations.
3. Salary opacity — Is compensation mentioned? If not, flag it.
4. Culture language — Check for "rockstar", "ninja", "hustle", "fast-paced", "wear many hats", "work hard play hard", or other coded signals.
5. On-call and overtime expectations — Are there implicit expectations of excessive availability?
6. Growth trajectory — Is there any mention of career development, mentorship, or promotion paths?
7. Interview process transparency — Is the hiring process described?
Finally, give an overall verdict: Green (apply), Yellow (apply with caution), or Red (skip).
Job Description:
---
[paste JD here]
What the model catches that you might miss
We ran 50 job descriptions through this prompt and found patterns that human readers consistently overlook.
The "impossible requirements" pattern. A posting asking for "7+ years of Kubernetes experience" in 2022 was asking for longer experience than Kubernetes had existed. GPT-4 flags timeline impossibilities instantly. Similarly, "10+ years of React" in 2024 is a signal that whoever wrote the JD does not understand the technology—which usually means the team does not either.
The salary evasion pattern. Descriptions that say "competitive salary" or "compensation DOE" without a range almost always pay below market. GPT-4 catalogs the evasion language and gives you a clear signal before you invest an hour in applying.
The culture-language pattern. A single instance of "fast-paced environment" is noise. Five culture-signaling phrases across a single JD is a pattern. GPT-4 counts them and correlates them. The descriptions with the highest density of "we work hard and play hard" language also had the highest scope-creep scores. The correlation is not a coincidence.
Automating the pipeline
Once you have a prompt that works, automate the workflow. Write a short script that:
- Pulls new job descriptions from your scraper or alert system
- Sends each description to the OpenAI API with your analysis prompt
- Filters out anything flagged Red
- Appends the analysis summary to each Yellow listing so you can make an informed decision
import openai
def analyze_jd(job_description: str) -> dict:
response = openai.ChatCompletion.create(
model="gpt-4",
messages=[
{"role": "system", "content": ANALYSIS_PROMPT},
{"role": "user", "content": job_description},
],
temperature=0.3,
)
return response.choices[0].message.content
Run this as a filter step between scraping and notification. You never see a Red-flagged role in your inbox. You see Yellow roles with the analysis attached. You see Green roles highlighted as priority applications.
The limits of AI analysis
GPT-4 is not omniscient. It cannot detect genuine-but-unusual requirements, and it may flag niche startup roles as scope-creep when the team honestly does need a full-stack generalist. Treat the analysis as a triage tool, not a decision-maker. Red means skip. Yellow means read the JD manually with the flagged issues in mind. Green means this role is worth your best application effort.
The ROI
If you spend 10 minutes reading and evaluating each job description, and you review 30 JDs per week, that is 5 hours per week on JD screening. GPT-4 can screen 30 JDs in 30 seconds for under $0.50 in API costs. You reclaim 5 hours per week and apply to roles where the odds are actually in your favor.