Update app.py
Browse files
app.py
CHANGED
|
@@ -1,139 +1,229 @@
|
|
| 1 |
-
import random
|
| 2 |
-
from typing import List, Dict
|
| 3 |
-
import pandas as pd
|
| 4 |
import gradio as gr
|
|
|
|
|
|
|
| 5 |
from sentence_transformers import SentenceTransformer
|
| 6 |
from sklearn.metrics.pairwise import cosine_similarity
|
|
|
|
|
|
|
|
|
|
| 7 |
|
| 8 |
-
|
| 9 |
-
|
| 10 |
-
#
|
| 11 |
-
|
| 12 |
-
|
| 13 |
-
|
| 14 |
-
|
| 15 |
-
|
| 16 |
-
|
| 17 |
-
|
| 18 |
-
|
| 19 |
-
"
|
| 20 |
-
|
| 21 |
-
|
| 22 |
-
|
| 23 |
-
|
| 24 |
-
|
| 25 |
-
|
| 26 |
-
|
| 27 |
-
|
| 28 |
-
|
| 29 |
-
|
| 30 |
-
|
| 31 |
-
|
| 32 |
-
|
| 33 |
-
|
| 34 |
-
|
| 35 |
-
|
| 36 |
-
|
| 37 |
-
"Education": [
|
| 38 |
-
{"title": "Elementary School Teacher", "desc": "Teach fundamental subjects to young students",
|
| 39 |
-
"skills": ["Teaching", "Classroom Management", "Curriculum Development", "Student Assessment", "Communication"]},
|
| 40 |
-
{"title": "High School Teacher", "desc": "Educate teenagers in specialized subjects",
|
| 41 |
-
"skills": ["Subject Expertise", "Teaching", "Classroom Management", "Lesson Planning", "Student Mentoring"]},
|
| 42 |
-
],
|
| 43 |
-
"Sales": [
|
| 44 |
-
{"title": "Sales Representative", "desc": "Sell products and services to customers",
|
| 45 |
-
"skills": ["Sales", "Customer Relations", "Communication", "Negotiation", "Product Knowledge"]},
|
| 46 |
-
{"title": "Account Manager", "desc": "Manage relationships with key clients",
|
| 47 |
-
"skills": ["Account Management", "Client Relations", "Sales", "Communication", "Problem Solving"]},
|
| 48 |
-
],
|
| 49 |
-
"Operations": [
|
| 50 |
-
{"title": "Operations Manager", "desc": "Oversee daily business operations",
|
| 51 |
-
"skills": ["Operations Management", "Process Improvement", "Team Leadership", "Budget Management", "Problem Solving"]},
|
| 52 |
-
{"title": "Project Manager", "desc": "Lead and coordinate project execution",
|
| 53 |
-
"skills": ["Project Management", "PMP", "Agile", "Risk Management", "Communication"]},
|
| 54 |
-
],
|
| 55 |
-
"Creative": [
|
| 56 |
-
{"title": "Graphic Designer", "desc": "Create visual designs for various media",
|
| 57 |
-
"skills": ["Adobe Creative Suite", "Graphic Design", "Typography", "Brand Design", "Creativity"]},
|
| 58 |
-
{"title": "Content Writer", "desc": "Create written content for various platforms",
|
| 59 |
-
"skills": ["Writing", "Content Creation", "SEO", "Research", "Editing"]},
|
| 60 |
-
]
|
| 61 |
-
}
|
| 62 |
-
|
| 63 |
-
experience_levels = ["Entry-level", "Mid-level", "Senior", "Lead/Principal"]
|
| 64 |
-
|
| 65 |
-
jobs = []
|
| 66 |
-
job_id = 1
|
| 67 |
-
categories = list(job_templates.keys())
|
| 68 |
-
jobs_per_category = 1000 // len(categories)
|
| 69 |
-
remaining_jobs = 1000 % len(categories)
|
| 70 |
-
|
| 71 |
-
for i, category in enumerate(categories):
|
| 72 |
-
templates = job_templates[category]
|
| 73 |
-
jobs_for_this_category = jobs_per_category + (1 if i < remaining_jobs else 0)
|
| 74 |
-
|
| 75 |
-
for j in range(jobs_for_this_category):
|
| 76 |
-
template = templates[j % len(templates)]
|
| 77 |
-
title_variations = [
|
| 78 |
-
template["title"],
|
| 79 |
-
f"Senior {template['title']}",
|
| 80 |
-
f"Junior {template['title']}",
|
| 81 |
-
f"Lead {template['title']}",
|
| 82 |
-
f"{template['title']} Specialist"
|
| 83 |
-
]
|
| 84 |
-
title = title_variations[j % len(title_variations)]
|
| 85 |
-
exp_level = random.choice(experience_levels)
|
| 86 |
-
job = {
|
| 87 |
-
"id": job_id,
|
| 88 |
-
"title": title,
|
| 89 |
-
"description": template["desc"],
|
| 90 |
-
"requirements": template["skills"],
|
| 91 |
-
"experience_level": exp_level,
|
| 92 |
-
"category": category,
|
| 93 |
-
"location": random.choice([
|
| 94 |
-
"Remote", "New York, NY", "San Francisco, CA", "Chicago, IL",
|
| 95 |
-
"Austin, TX", "Seattle, WA", "Boston, MA", "Los Angeles, CA"
|
| 96 |
-
])
|
| 97 |
-
}
|
| 98 |
-
jobs.append(job)
|
| 99 |
-
job_id += 1
|
| 100 |
-
return jobs
|
| 101 |
-
|
| 102 |
-
# ------------------------------
|
| 103 |
-
# 2. Prepare DataFrame and Embeddings
|
| 104 |
-
# ------------------------------
|
| 105 |
-
jobs = generate_job_database()
|
| 106 |
-
df = pd.DataFrame(jobs)
|
| 107 |
-
model = SentenceTransformer('sentence-transformers/all-MiniLM-L6-v2')
|
| 108 |
-
job_embeddings = model.encode(df['requirements'].apply(lambda x: " ".join(x)).tolist())
|
| 109 |
-
|
| 110 |
-
# ------------------------------
|
| 111 |
-
# 3. Job Recommendation Function
|
| 112 |
-
# ------------------------------
|
| 113 |
-
def recommend_jobs(user_skills, top_k=5):
|
| 114 |
-
user_embedding = model.encode([" ".join(user_skills)])
|
| 115 |
-
similarities = cosine_similarity(user_embedding, job_embeddings)[0]
|
| 116 |
-
top_indices = similarities.argsort()[-top_k:][::-1]
|
| 117 |
-
top_jobs = df.iloc[top_indices]
|
| 118 |
-
return top_jobs[['title', 'description', 'requirements', 'experience_level', 'category', 'location']]
|
| 119 |
-
|
| 120 |
-
# ------------------------------
|
| 121 |
-
# 4. Gradio Interface (v4.44.0 compatible)
|
| 122 |
-
# ------------------------------
|
| 123 |
-
def gradio_interface(skills_text):
|
| 124 |
-
user_skills = [skill.strip() for skill in skills_text.split(",")]
|
| 125 |
-
recommended = recommend_jobs(user_skills)
|
| 126 |
-
return recommended.to_dict(orient="records")
|
| 127 |
-
|
| 128 |
-
with gr.Blocks() as app:
|
| 129 |
-
gr.Markdown("# AI Job Finder")
|
| 130 |
-
gr.Markdown("Enter your skills (comma-separated) to find the best matching jobs!")
|
| 131 |
-
|
| 132 |
-
skills_input = gr.Textbox(lines=2, placeholder="Python, SQL, Machine Learning")
|
| 133 |
-
results_output = gr.Dataframe(headers=["Title", "Description", "Skills", "Experience", "Category", "Location"])
|
| 134 |
|
| 135 |
-
|
| 136 |
-
|
| 137 |
-
|
| 138 |
-
|
| 139 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
import gradio as gr
|
| 2 |
+
import pandas as pd
|
| 3 |
+
import numpy as np
|
| 4 |
from sentence_transformers import SentenceTransformer
|
| 5 |
from sklearn.metrics.pairwise import cosine_similarity
|
| 6 |
+
import random
|
| 7 |
+
from typing import List, Dict
|
| 8 |
+
import os
|
| 9 |
|
| 10 |
+
class JobRecommendationSystem:
|
| 11 |
+
def __init__(self):
|
| 12 |
+
# Load a lightweight sentence transformer model for CPU
|
| 13 |
+
print("🤖 Loading AI model...")
|
| 14 |
+
self.model = SentenceTransformer('all-MiniLM-L6-v2')
|
| 15 |
+
|
| 16 |
+
# Generate comprehensive job database
|
| 17 |
+
print("📊 Generating job database...")
|
| 18 |
+
self.jobs_data = self._generate_job_database()
|
| 19 |
+
|
| 20 |
+
# Pre-compute job embeddings for efficiency
|
| 21 |
+
print("🧠 Computing job embeddings... This may take a moment.")
|
| 22 |
+
self.job_descriptions = [f"{job['title']} {job['description']} {' '.join(job['requirements'])}"
|
| 23 |
+
for job in self.jobs_data]
|
| 24 |
+
|
| 25 |
+
try:
|
| 26 |
+
self.job_embeddings = self.model.encode(self.job_descriptions, show_progress_bar=False)
|
| 27 |
+
print(f"✅ Successfully loaded {len(self.jobs_data)} jobs!")
|
| 28 |
+
except Exception as e:
|
| 29 |
+
print(f"⚠️ Warning: Error computing embeddings: {e}")
|
| 30 |
+
# Fallback: compute embeddings in smaller batches
|
| 31 |
+
batch_size = 50
|
| 32 |
+
embeddings_list = []
|
| 33 |
+
for i in range(0, len(self.job_descriptions), batch_size):
|
| 34 |
+
batch = self.job_descriptions[i:i+batch_size]
|
| 35 |
+
batch_embeddings = self.model.encode(batch, show_progress_bar=False)
|
| 36 |
+
embeddings_list.append(batch_embeddings)
|
| 37 |
+
self.job_embeddings = np.vstack(embeddings_list)
|
| 38 |
+
print(f"✅ Successfully loaded {len(self.jobs_data)} jobs with batch processing!")
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 39 |
|
| 40 |
+
def _generate_job_database(self) -> List[Dict]:
|
| 41 |
+
"""Generate a comprehensive database of 1000 jobs across various industries"""
|
| 42 |
+
|
| 43 |
+
# Job templates by category
|
| 44 |
+
job_templates = {
|
| 45 |
+
"Technology": [
|
| 46 |
+
{"title": "Software Engineer", "desc": "Design and develop software applications",
|
| 47 |
+
"skills": ["Python", "Java", "JavaScript", "Git", "Agile", "Problem Solving"]},
|
| 48 |
+
{"title": "Data Scientist", "desc": "Analyze complex data to extract business insights",
|
| 49 |
+
"skills": ["Python", "R", "Machine Learning", "SQL", "Statistics", "Pandas"]},
|
| 50 |
+
{"title": "DevOps Engineer", "desc": "Manage infrastructure and deployment pipelines",
|
| 51 |
+
"skills": ["AWS", "Docker", "Kubernetes", "Linux", "Python", "Terraform"]},
|
| 52 |
+
{"title": "Frontend Developer", "desc": "Create user interfaces and web experiences",
|
| 53 |
+
"skills": ["JavaScript", "React", "CSS", "HTML", "TypeScript", "Responsive Design"]},
|
| 54 |
+
{"title": "Backend Developer", "desc": "Build server-side applications and APIs",
|
| 55 |
+
"skills": ["Python", "Node.js", "Django", "PostgreSQL", "REST APIs", "MongoDB"]},
|
| 56 |
+
{"title": "Mobile Developer", "desc": "Develop applications for mobile platforms",
|
| 57 |
+
"skills": ["React Native", "Swift", "Kotlin", "Flutter", "iOS", "Android"]},
|
| 58 |
+
{"title": "QA Engineer", "desc": "Test software and ensure quality standards",
|
| 59 |
+
"skills": ["Selenium", "Test Automation", "Python", "Manual Testing", "JIRA"]},
|
| 60 |
+
{"title": "UI/UX Designer", "desc": "Design user interfaces and experiences",
|
| 61 |
+
"skills": ["Figma", "Adobe XD", "User Research", "Prototyping", "Design Systems"]},
|
| 62 |
+
{"title": "Machine Learning Engineer", "desc": "Deploy and maintain ML models in production",
|
| 63 |
+
"skills": ["Python", "TensorFlow", "PyTorch", "MLOps", "Docker", "Scikit-learn"]},
|
| 64 |
+
{"title": "Cybersecurity Analyst", "desc": "Monitor and protect against security threats",
|
| 65 |
+
"skills": ["Network Security", "Python", "SIEM", "Incident Response", "Penetration Testing"]},
|
| 66 |
+
{"title": "Database Administrator", "desc": "Manage and optimize database systems",
|
| 67 |
+
"skills": ["SQL", "MySQL", "PostgreSQL", "Database Design", "Performance Tuning"]},
|
| 68 |
+
{"title": "Cloud Architect", "desc": "Design scalable cloud infrastructure solutions",
|
| 69 |
+
"skills": ["AWS", "Azure", "GCP", "Cloud Architecture", "Microservices", "Serverless"]},
|
| 70 |
+
{"title": "Product Manager", "desc": "Define product strategy and roadmap",
|
| 71 |
+
"skills": ["Product Strategy", "Analytics", "Agile", "User Stories", "Market Research"]},
|
| 72 |
+
{"title": "Systems Administrator", "desc": "Maintain IT infrastructure and systems",
|
| 73 |
+
"skills": ["Linux", "Windows Server", "Network Administration", "Virtualization", "Shell Scripting"]},
|
| 74 |
+
{"title": "Full Stack Developer", "desc": "Work on both frontend and backend development",
|
| 75 |
+
"skills": ["JavaScript", "Python", "React", "Node.js", "SQL", "Git"]}
|
| 76 |
+
],
|
| 77 |
+
"Healthcare": [
|
| 78 |
+
{"title": "Registered Nurse", "desc": "Provide patient care and medical support",
|
| 79 |
+
"skills": ["Patient Care", "Medical Knowledge", "CPR", "Communication", "Compassion"]},
|
| 80 |
+
{"title": "Medical Doctor", "desc": "Diagnose and treat medical conditions",
|
| 81 |
+
"skills": ["Medical Diagnosis", "Patient Care", "Clinical Skills", "Medical Ethics", "Communication"]},
|
| 82 |
+
{"title": "Physical Therapist", "desc": "Help patients recover from injuries",
|
| 83 |
+
"skills": ["Rehabilitation", "Exercise Therapy", "Patient Assessment", "Anatomy", "Communication"]},
|
| 84 |
+
{"title": "Medical Technologist", "desc": "Perform laboratory tests and analysis",
|
| 85 |
+
"skills": ["Laboratory Skills", "Medical Testing", "Quality Control", "Attention to Detail", "Safety Protocols"]},
|
| 86 |
+
{"title": "Pharmacist", "desc": "Dispense medications and provide drug information",
|
| 87 |
+
"skills": ["Pharmaceutical Knowledge", "Patient Counseling", "Drug Interactions", "Attention to Detail", "Regulatory Compliance"]},
|
| 88 |
+
{"title": "Medical Assistant", "desc": "Support healthcare providers with patient care",
|
| 89 |
+
"skills": ["Medical Procedures", "Patient Communication", "Medical Records", "Scheduling", "Basic Clinical Skills"]},
|
| 90 |
+
{"title": "Healthcare Administrator", "desc": "Manage healthcare facility operations",
|
| 91 |
+
"skills": ["Healthcare Management", "Budget Management", "Regulatory Compliance", "Leadership", "Strategic Planning"]},
|
| 92 |
+
{"title": "Radiologic Technologist", "desc": "Perform diagnostic imaging procedures",
|
| 93 |
+
"skills": ["Radiology", "Medical Imaging", "Patient Safety", "Equipment Operation", "Anatomy Knowledge"]}
|
| 94 |
+
],
|
| 95 |
+
"Finance": [
|
| 96 |
+
{"title": "Financial Analyst", "desc": "Analyze financial data and market trends",
|
| 97 |
+
"skills": ["Financial Modeling", "Excel", "Data Analysis", "Financial Reporting", "Market Research"]},
|
| 98 |
+
{"title": "Investment Banker", "desc": "Provide financial advisory services",
|
| 99 |
+
"skills": ["Financial Analysis", "Valuation", "Excel", "Presentation Skills", "Client Relations"]},
|
| 100 |
+
{"title": "Accountant", "desc": "Manage financial records and tax preparation",
|
| 101 |
+
"skills": ["Accounting", "QuickBooks", "Tax Preparation", "Financial Reporting", "Attention to Detail"]},
|
| 102 |
+
{"title": "Risk Analyst", "desc": "Assess and manage financial risks",
|
| 103 |
+
"skills": ["Risk Assessment", "Statistical Analysis", "Financial Modeling", "Regulatory Knowledge", "Problem Solving"]},
|
| 104 |
+
{"title": "Portfolio Manager", "desc": "Manage investment portfolios",
|
| 105 |
+
"skills": ["Investment Strategy", "Portfolio Analysis", "Market Research", "Risk Management", "Client Communication"]},
|
| 106 |
+
{"title": "Credit Analyst", "desc": "Evaluate creditworthiness of borrowers",
|
| 107 |
+
"skills": ["Credit Analysis", "Financial Modeling", "Risk Assessment", "Banking Regulations", "Excel"]},
|
| 108 |
+
{"title": "Insurance Underwriter", "desc": "Evaluate insurance applications and risks",
|
| 109 |
+
"skills": ["Risk Assessment", "Insurance Knowledge", "Data Analysis", "Decision Making", "Attention to Detail"]},
|
| 110 |
+
{"title": "Tax Consultant", "desc": "Provide tax planning and preparation services",
|
| 111 |
+
"skills": ["Tax Law", "Tax Preparation", "Client Consultation", "Attention to Detail", "Regulatory Compliance"]}
|
| 112 |
+
],
|
| 113 |
+
"Marketing": [
|
| 114 |
+
{"title": "Digital Marketing Manager", "desc": "Develop and execute digital marketing strategies",
|
| 115 |
+
"skills": ["Digital Marketing", "SEO", "Social Media", "Google Analytics", "Content Strategy"]},
|
| 116 |
+
{"title": "Content Marketing Specialist", "desc": "Create engaging content for marketing campaigns",
|
| 117 |
+
"skills": ["Content Creation", "SEO", "Social Media", "Writing", "Brand Management"]},
|
| 118 |
+
{"title": "Social Media Manager", "desc": "Manage social media presence and engagement",
|
| 119 |
+
"skills": ["Social Media", "Content Creation", "Community Management", "Analytics", "Brand Voice"]},
|
| 120 |
+
{"title": "SEO Specialist", "desc": "Optimize websites for search engine visibility",
|
| 121 |
+
"skills": ["SEO", "Google Analytics", "Content Optimization", "Keyword Research", "Technical SEO"]},
|
| 122 |
+
{"title": "Marketing Analyst", "desc": "Analyze marketing data and campaign performance",
|
| 123 |
+
"skills": ["Data Analysis", "Google Analytics", "Marketing Metrics", "Excel", "Reporting"]},
|
| 124 |
+
{"title": "Brand Manager", "desc": "Develop and maintain brand identity and strategy",
|
| 125 |
+
"skills": ["Brand Strategy", "Marketing", "Creative Direction", "Market Research", "Communication"]},
|
| 126 |
+
{"title": "Email Marketing Specialist", "desc": "Create and manage email marketing campaigns",
|
| 127 |
+
"skills": ["Email Marketing", "Automation", "A/B Testing", "Analytics", "Copywriting"]},
|
| 128 |
+
{"title": "PPC Specialist", "desc": "Manage pay-per-click advertising campaigns",
|
| 129 |
+
"skills": ["Google Ads", "PPC", "Campaign Management", "Analytics", "Budget Management"]}
|
| 130 |
+
],
|
| 131 |
+
"Education": [
|
| 132 |
+
{"title": "Elementary School Teacher", "desc": "Teach fundamental subjects to young students",
|
| 133 |
+
"skills": ["Teaching", "Classroom Management", "Curriculum Development", "Student Assessment", "Communication"]},
|
| 134 |
+
{"title": "High School Teacher", "desc": "Educate teenagers in specialized subjects",
|
| 135 |
+
"skills": ["Subject Expertise", "Teaching", "Classroom Management", "Lesson Planning", "Student Mentoring"]},
|
| 136 |
+
{"title": "Special Education Teacher", "desc": "Work with students with special needs",
|
| 137 |
+
"skills": ["Special Education", "IEP Development", "Adaptive Teaching", "Patience", "Communication"]},
|
| 138 |
+
{"title": "School Counselor", "desc": "Provide academic and personal guidance to students",
|
| 139 |
+
"skills": ["Counseling", "Student Support", "Academic Planning", "Crisis Intervention", "Communication"]},
|
| 140 |
+
{"title": "Principal", "desc": "Lead and manage school operations",
|
| 141 |
+
"skills": ["Educational Leadership", "Staff Management", "Budget Management", "Policy Development", "Communication"]},
|
| 142 |
+
{"title": "Librarian", "desc": "Manage library resources and assist patrons",
|
| 143 |
+
"skills": ["Information Management", "Research Skills", "Library Systems", "Customer Service", "Organization"]},
|
| 144 |
+
{"title": "Educational Technology Specialist", "desc": "Integrate technology into educational environments",
|
| 145 |
+
"skills": ["Educational Technology", "Training", "Technical Support", "Curriculum Integration", "Problem Solving"]},
|
| 146 |
+
{"title": "Instructional Designer", "desc": "Design educational programs and materials",
|
| 147 |
+
"skills": ["Instructional Design", "Curriculum Development", "Learning Theory", "Educational Technology", "Project Management"]}
|
| 148 |
+
],
|
| 149 |
+
"Sales": [
|
| 150 |
+
{"title": "Sales Representative", "desc": "Sell products and services to customers",
|
| 151 |
+
"skills": ["Sales", "Customer Relations", "Communication", "Negotiation", "Product Knowledge"]},
|
| 152 |
+
{"title": "Account Manager", "desc": "Manage relationships with key clients",
|
| 153 |
+
"skills": ["Account Management", "Client Relations", "Sales", "Communication", "Problem Solving"]},
|
| 154 |
+
{"title": "Sales Manager", "desc": "Lead sales teams and develop strategies",
|
| 155 |
+
"skills": ["Sales Management", "Team Leadership", "Strategic Planning", "Performance Management", "Communication"]},
|
| 156 |
+
{"title": "Business Development Manager", "desc": "Identify and develop new business opportunities",
|
| 157 |
+
"skills": ["Business Development", "Sales", "Market Research", "Relationship Building", "Strategic Thinking"]},
|
| 158 |
+
{"title": "Inside Sales Representative", "desc": "Conduct sales activities remotely",
|
| 159 |
+
"skills": ["Phone Sales", "CRM", "Lead Generation", "Communication", "Product Knowledge"]},
|
| 160 |
+
{"title": "Real Estate Agent", "desc": "Help clients buy and sell properties",
|
| 161 |
+
"skills": ["Real Estate", "Customer Service", "Negotiation", "Market Knowledge", "Communication"]},
|
| 162 |
+
{"title": "Retail Sales Associate", "desc": "Assist customers in retail environments",
|
| 163 |
+
"skills": ["Customer Service", "Sales", "Product Knowledge", "Cash Handling", "Communication"]},
|
| 164 |
+
{"title": "Territory Sales Manager", "desc": "Manage sales activities in specific geographic areas",
|
| 165 |
+
"skills": ["Territory Management", "Sales", "Travel", "Customer Relations", "Strategic Planning"]}
|
| 166 |
+
],
|
| 167 |
+
"Operations": [
|
| 168 |
+
{"title": "Operations Manager", "desc": "Oversee daily business operations",
|
| 169 |
+
"skills": ["Operations Management", "Process Improvement", "Team Leadership", "Budget Management", "Problem Solving"]},
|
| 170 |
+
{"title": "Supply Chain Manager", "desc": "Manage supply chain and logistics operations",
|
| 171 |
+
"skills": ["Supply Chain", "Logistics", "Vendor Management", "Process Optimization", "Analytics"]},
|
| 172 |
+
{"title": "Project Manager", "desc": "Lead and coordinate project execution",
|
| 173 |
+
"skills": ["Project Management", "PMP", "Agile", "Risk Management", "Communication"]},
|
| 174 |
+
{"title": "Quality Assurance Manager", "desc": "Ensure product and service quality standards",
|
| 175 |
+
"skills": ["Quality Management", "Process Improvement", "ISO Standards", "Auditing", "Problem Solving"]},
|
| 176 |
+
{"title": "Logistics Coordinator", "desc": "Coordinate transportation and distribution",
|
| 177 |
+
"skills": ["Logistics", "Transportation", "Inventory Management", "Coordination", "Problem Solving"]},
|
| 178 |
+
{"title": "Business Analyst", "desc": "Analyze business processes and requirements",
|
| 179 |
+
"skills": ["Business Analysis", "Requirements Gathering", "Process Mapping", "Data Analysis", "Communication"]},
|
| 180 |
+
{"title": "Warehouse Manager", "desc": "Manage warehouse operations and staff",
|
| 181 |
+
"skills": ["Warehouse Management", "Inventory Control", "Team Leadership", "Safety Management", "Logistics"]},
|
| 182 |
+
{"title": "Production Manager", "desc": "Oversee manufacturing and production processes",
|
| 183 |
+
"skills": ["Production Management", "Manufacturing", "Process Optimization", "Quality Control", "Team Leadership"]}
|
| 184 |
+
],
|
| 185 |
+
"Creative": [
|
| 186 |
+
{"title": "Graphic Designer", "desc": "Create visual designs for various media",
|
| 187 |
+
"skills": ["Adobe Creative Suite", "Graphic Design", "Typography", "Brand Design", "Creativity"]},
|
| 188 |
+
{"title": "Web Designer", "desc": "Design websites and digital interfaces",
|
| 189 |
+
"skills": ["Web Design", "HTML", "CSS", "Adobe Creative Suite", "User Experience"]},
|
| 190 |
+
{"title": "Video Editor", "desc": "Edit and produce video content",
|
| 191 |
+
"skills": ["Video Editing", "Adobe Premiere", "Final Cut Pro", "Motion Graphics", "Storytelling"]},
|
| 192 |
+
{"title": "Content Writer", "desc": "Create written content for various platforms",
|
| 193 |
+
"skills": ["Writing", "Content Creation", "SEO", "Research", "Editing"]},
|
| 194 |
+
{"title": "Art Director", "desc": "Lead creative vision for projects",
|
| 195 |
+
"skills": ["Creative Direction", "Team Leadership", "Brand Strategy", "Visual Design", "Project Management"]},
|
| 196 |
+
{"title": "Photographer", "desc": "Capture and edit professional photographs",
|
| 197 |
+
"skills": ["Photography", "Photo Editing", "Adobe Lightroom", "Photoshop", "Composition"]},
|
| 198 |
+
{"title": "Animator", "desc": "Create animated content and motion graphics",
|
| 199 |
+
"skills": ["Animation", "After Effects", "3D Animation", "Motion Graphics", "Storytelling"]},
|
| 200 |
+
{"title": "Copywriter", "desc": "Write compelling marketing and advertising copy",
|
| 201 |
+
"skills": ["Copywriting", "Marketing", "Brand Voice", "Persuasive Writing", "Creative Thinking"]}
|
| 202 |
+
]
|
| 203 |
+
}
|
| 204 |
+
|
| 205 |
+
# Experience levels and salary ranges
|
| 206 |
+
experience_levels = ["Entry-level", "Mid-level", "Senior", "Lead/Principal"]
|
| 207 |
+
|
| 208 |
+
salary_ranges = {
|
| 209 |
+
"Entry-level": ["$35k-$50k", "$40k-$55k", "$45k-$60k", "$50k-$65k"],
|
| 210 |
+
"Mid-level": ["$55k-$75k", "$60k-$80k", "$65k-$85k", "$70k-$90k"],
|
| 211 |
+
"Senior": ["$80k-$110k", "$90k-$120k", "$100k-$130k", "$110k-$140k"],
|
| 212 |
+
"Lead/Principal": ["$120k-$150k", "$130k-$160k", "$140k-$170k", "$150k-$180k"]
|
| 213 |
+
}
|
| 214 |
+
|
| 215 |
+
# Additional skills by category
|
| 216 |
+
additional_skills = {
|
| 217 |
+
"Technology": ["Problem Solving", "Debugging", "Code Review", "System Design", "API Development", "Database Design"],
|
| 218 |
+
"Healthcare": ["HIPAA Compliance", "Medical Ethics", "Electronic Health Records", "Patient Safety", "Clinical Documentation"],
|
| 219 |
+
"Finance": ["Financial Regulations", "Risk Management", "Excel Advanced", "Bloomberg Terminal", "Financial Compliance"],
|
| 220 |
+
"Marketing": ["Brand Strategy", "Customer Acquisition", "Marketing Automation", "CRM", "Market Analysis"],
|
| 221 |
+
"Education": ["Student Engagement", "Assessment", "Educational Psychology", "Classroom Technology", "Differentiated Instruction"],
|
| 222 |
+
"Sales": ["CRM Systems", "Lead Qualification", "Sales Forecasting", "Territory Planning", "Customer Retention"],
|
| 223 |
+
"Operations": ["Lean Six Sigma", "Process Documentation", "KPI Management", "Vendor Relations", "Cost Reduction"],
|
| 224 |
+
"Creative": ["Brand Identity", "Design Thinking", "Client Presentation", "Creative Strategy", "Visual Communication"]
|
| 225 |
+
}
|
| 226 |
+
|
| 227 |
+
# Generate 1000 jobs
|
| 228 |
+
jobs = []
|
| 229 |
+
job_id = 1
|