Inspiration
After applying to hundreds of jobs and facing the frustration of being ghosted or rejected without feedback, I realized that crafting a resume wasn’t just about listing skills — it was about thinking like an HR professional.
Recruiters scan resumes in seconds, looking for alignment, clarity, and relevance. Most candidates, including myself at the time, build resumes from their own perspective, not from the perspective of the person hiring. That disconnect is what causes great candidates to be overlooked.
The turning point came when I asked myself:
What if I could simulate how a recruiter thinks? What if I had an intelligent system that could evaluate my resume like a hiring manager, spot gaps, suggest improvements, and tailor my story to every job I applied for?
That question sparked the creation of Resume Saga — a multi-agent system where AI agents work like a hiring team. One agent evaluates the resume against job descriptions and provides information about your strengths and weaknesses for the job, another provides simulated recruiter feedback and yet another generates a LaTeX code for the resume- which one can use to create any resume using the code in websites like Overleaf.
Instead of blindly applying, Resume Saga empowers users to strategically apply — with confidence, insight, and personalization.
In short:
This project was born out of rejection — and built with the mission to help job seekers transform their resumes into their strongest career weapon.
What it does
Resume Saga is a powerful, multi-agent AI system that replicates how an ideal hiring team operates — but tailored for the job seeker. It transforms the passive, guesswork-driven resume creation process into an interactive, intelligent, and personalized journey. Here's how each agent plays a key role in the pipeline:
1. Resume Evaluation Agent– Understand Your Fit a) This agent acts like a career coach and recruiter rolled into one. It parses your resume using natural language processing b)Analyzes it in context with a real job description c)Identifies your key strengths and alignment with the role d)Pinpoints gaps or weaknesses — such as missing skills, underrepresented achievements, or lack of clarity in impact
This evaluation gives you actionable feedback: not just what’s wrong, but why it matters in the context of a specific job — making your resume targeted and strategic, not generic.
2. Recruiter Simulation Agent – Real-World Feedback a) This agent mimics how a real recruiter or hiring manager might react to your resume. It reviews your resume with a critical lens.
b) Generates a simulated recruiter response — including how suitable you are for the job (in terms of the percentage match of your resume with the job description) as well as provides the missing keywords. This helps users develop interview-ready confidence by understanding how their resume is perceived and what questions it might trigger during the interview process.
3. LaTeX Resume Generator Agent – Build Beautiful, Professional Resumes a) Once your resume content is refined, this agent automatically converts the improved resume content into clean, structured LaTeX code.
b) Enables users to copy and paste the code into Overleaf, an online LaTeX editor, to instantly render a beautifully formatted resume
c)Provides modular LaTeX blocks (e.g., for experience, projects, skills) so users can customize layouts with ease. This removes the formatting headaches and makes it easy to produce ATS-friendly, professional resumes in minutes.
How we built it
1. Modular Agent Architecture We adopted a modular design philosophy, breaking down the resume enhancement journey into a sequence of clearly defined tasks — each handled by a dedicated agent. These agents are instantiated and managed using a custom-built framework leveraging Google’s Vertex AI and Generative AI Studio:
Resume Evaluation Agent Uses an LLM fine-tuned prompt to parse the resume and compare it against a job description. It identifies alignment across key domains — skills, experience, role-specific language, and industry relevance — and returns a detailed breakdown of strengths and weaknesses.
Recruiter Simulation Agent This agent is prompted to take on the persona of an HR recruiter or hiring manager. Using zero-shot and few-shot prompting, it generates qualitative feedback and a simulated shortlisting decision — mimicking what a human recruiter might say after reviewing the resume.
LaTeX Resume Generator Agent Converts the improved resume into a structured LaTeX code block using a templated format. The model is instructed via prompt engineering to generate clean, modular code compatible with Overleaf, allowing users to build beautifully formatted resumes without any manual formatting effort.
2. Google Generative AI Models We used Google’s Generative AI model — chosen for their robustness, enterprise-grade security, and strong contextual understanding, particularly beneficial when handling semi-structured resume text and diverse job descriptions. Each agent is built with: Custom prompts tailored to the role (e.g., evaluation vs. refinement) Role-playing contexts using system-level instructions (e.g., “Act as a hiring manager at a Fortune 500 company”)
3. Frontend + Usability
Built a prototype interface using Streamlit, enabling users to upload resumes, paste job descriptions, and view agent outputs in real-time
Added Overleaf integration instructions, letting users copy and paste LaTeX code to render polished resumes instantly. Ensured outputs are copy-paste ready, mobile-friendly, and customizable
Challenges we ran into
Building Resume Saga was an exciting but technically demanding journey. While the idea of orchestrating multiple AI agents to function like a hiring team was conceptually straightforward, implementing it came with several real-world hurdles — especially in integrating large language models and deploying a seamless user experience.
1. Integrating Generative AI Models with Backend Logic a) One of the core challenges we faced was integrating Google Generative AI models into our backend pipeline. The LLMs are powerful, but interfacing them in real-time while preserving agent-specific context requires precise orchestration. We ran into several API latency issues, improper error handling, and timeouts during multi-agent calls.
b) Fine-tuning prompts to maintain consistency and reliability across agents was time-intensive — small wording changes could break the entire flow.
Despite these roadblocks, we refined our architecture and implemented structured response parsing, retries, and robust exception handling — making the system resilient and modular.
2. Frontend-Backend Integration with Streamlit a) While Streamlit allowed us to quickly prototype the UI, integrating it with the backend LLM logic wasn't plug-and-play; we encountered serialization issues when passing structured data (like JSON outputs from agents) back and forth between frontend and backend functions.
b) Streamlit’s state management limitations created complications in chaining multi-step agent workflows within a single session. In early versions, the interface froze or returned blank outputs due to improper async handling and missing state resets. After multiple debugging cycles and community troubleshooting, we created a stable interface that communicates with each agent sequentially and displays real-time results to the user in an intuitive format.
3. Deployment & Debugging Deploying the app turned out to be a multi-layered challenge: Environment mismatches and dependency conflicts caused deployment to fail on some platforms initially. The GenAI model dependencies had to be managed carefully to avoid rate limits, broken keys, and crashes.
We resolved these bugs one by one, running detailed test cases for each agent, and eventually deployed a working version that performs reliably across all intended use cases.
Accomplishments that we're proud of
1) We successfully built a working multi-agent system that evaluates and refines resumes using Google’s Generative AI models.
2) We were able to generate clean LaTeX resume templates that can be easily used on Overleaf.
3) Most importantly, we built something that addresses a real-world problem many job seekers face — and that in itself feels rewarding.
What we learned
1) Prompt design matters — small changes can significantly impact LLM output quality.
2) Agent specialization is key — assigning each agent a clear role made our system more effective and modular.
3) Integration isn't easy — connecting GenAI models with a Streamlit frontend taught us a lot about state management and error handling.
4) Debugging is part of the process — every issue helped us better understand the tools we used.
5) Build for people — the best AI tools empower users, not overwhelm them. Resume Saga was designed with the job seeker in mind.
What's next for Resume Saga
Two-Way Resume-Job Matching Expand the system to not only evaluate a resume against a job, but also suggest the most suitable roles based on a user’s profile using real-time job listings and skill matching algorithms.
Interview Preparation Agent Add an agent that uses the resume and job description to simulate behavioral and technical interview questions, helping users prepare with confidence.
Portfolio & LinkedIn Analyzer Extend the system to analyze LinkedIn profiles or personal websites, providing alignment suggestions and consistency checks with the resume and target job role.
Save Sessions & Track Progress Introduce login support, allowing users to save their resume iterations, feedback history, and job-specific reports to track improvement over time.
Built With
- gemini
- google-ai
- llms
- streamlit
Log in or sign up for Devpost to join the conversation.