Introducing CV Agents, your personal career advancement team powered by artificial intelligence.
Imagine having a top hiring manager, an expert CV editor, and a savvy job seeker working tirelessly to perfect your CV. That's exactly what CV Agents does!
The AI-driven system takes your initial CV and runs it through a series of intelligent agents. The hiring manager evaluates it critically, the CV editor refines and optimizes it, and the job seeker strategizes to make it stand out. This process repeats until your CV achieves a top-tier rating.
CV Agents doesn't just edit; it transforms your CV into a powerful tool that showcases your skills and experiences in the best possible light. It ensures your CV fits on one page, highlights your most relevant qualifications, and aligns perfectly with job requirements.
Key advantages of CV Agents:
-
Open-source: The entire system is open-source, allowing for community contributions and transparency.
-
Fully customizable: Supports LaTeX and JSON formats, giving you complete control over the output.
-
No ecosystem lock-in: Unlike proprietary apps, CV Agents doesn't trap you in a closed ecosystem.
-
No fake stories: The AI doesn't invent fake stories or experiences. Instead, it selects and enhances your best real-life experiences.
-
Resume optimization: CV Agents carefully tweaks your resume to highlight your strengths and match job requirements.
-
Smart selection: If you have an extensive list of experiences or projects, CV Agents intelligently selects the most relevant ones for the job you're applying to, ensuring your CV remains impactful and concise.
Let AI revolutionize your job search and open doors to your dream career!
-
Set OpenAI API Key:
- Make sure to set your OpenAI API key in the
.env
file:OPENAI_API_KEY="your_openai_api_key"
- Make sure to set your OpenAI API key in the
-
Job Description:
- Paste the job description into
job_desc.txt
in thedata
directory.
- Paste the job description into
-
Resume JSON:
resume.json
andjob_desc.txt
are the only input files needed.- Edit the
resume.json
in thedata
directory. - Use the following template format to generate your resume JSON from ChatGPT:
{ "basics": { "name": "Your Name", "label": "Your Job Title", "email": "your.email@example.com", "phone": "123-456-7890", "url": "http://yourwebsite.com", "summary": "A brief summary about yourself.", "location": { "city": "Your City", "countryCode": "Your Country Code", "region": "Your Region" }, "profiles": [ { "network": "LinkedIn", "username": "yourusername", "url": "http://linkedin.com/in/yourusername" } ] }, "work": [ { "name": "Company Name", "position": "Your Position", "location": "Company Location", "startDate": "YYYY-MM-DD", "endDate": "YYYY-MM-DD", "highlights": ["Achievement 1", "Achievement 2"] } ], "education": [ { "institution": "Your Institution", "area": "Your Area of Study", "studyType": "Degree Type", "location": "Institution Location", "startDate": "YYYY-MM-DD", "endDate": "YYYY-MM-DD", "gpa": "Your GPA", "courses": ["Course 1", "Course 2"] } ], "skills": [ { "name": "Skill Name", "keywords": ["Keyword 1", "Keyword 2"] } ], "certificates": [ { "name": "Certificate Name", "issuer": "Issuer Name", "date": "YYYY-MM-DD" } ], "projects": [ { "name": "Project Name", "description": "Project Description", "highlights": ["Highlight 1", "Highlight 2"], "keywords": ["Keyword 1", "Keyword 2"], "url": "http://projecturl.com" } ], "languages": [ { "language": "Language Name", "fluency": "Fluency Level" } ], "interests": [ { "name": "Interest Name", "keywords": ["Keyword 1", "Keyword 2"] } ] }
-
Agent Prompts:
- The agent prompts are stored in
prompts/job_application_prompts.py
. - Feel free to edit those prompts for better results based on your specific needs.
- The agent prompts are stored in
-
Generate PDF:
- To see how your
resume.json
looks as a PDF, run:python resume/generator.py
- The generated PDFs will be stored in the
outputs/pdf
directory, and their corresponding LaTeX files will be inoutputs/latex/
.
- To see how your
-
Rename PDF:
- Rename the generated
output_resume.pdf
tooriginal_long_resume.pdf
and keep it in theoutputs/pdf
directory for later comparison.
- Rename the generated
-
Run the Agents:
- Kick off the agents by running:
python main.py
- The agent will write the output to
outputs/pdf/output_resume.pdf
.
- Kick off the agents by running:
-
Compare Resumes:
- You can manually compare the two resumes or run:
python src/scripts/run_compare_pdf.py
- This will generate a comparison PDF
outputs/pdf/compare_diff.pdf
of the two resumes.
- You can manually compare the two resumes or run:
- Realtime UI!
If you find this project helpful, please star this repository and consider contributing by submitting pull requests. Your contributions can help improve the project for everyone!