How mukulb22-gh/ai_resume_tailor works
Smart Resume & Job Matcher is a Streamlit application that turns an uploaded resume and job description into a tailored, ATS-friendly resume. The user workflow validates inputs, extracts and chunks the resume, indexes chunks for retrieval, then runs analyzer, rewriter, and reviewer tasks before saving the result. The main internal layers are the UI, services, RAG chain and vector store, and CrewAI agents. The source shows sequential task configuration; provider calls are supported by the README and sampled code. Other README capabilities are not expanded beyond that evidence.
Main entry points: resume_service.py Resume service · streamlit_app.py Streamlit app · rag_chain.py Retrieval chain · rag_service.py RAG service
Components 17
User interface
- Application entry
main.py - Streamlit app
ui/streamlit_app.py
Application services
- File processing
services/file_service.py - Resume data
models/resume_models.py - RAG service
services/rag_service.py - Resume service
services/resume_service.py
Resume retrieval
- Embedding and indexing
utils/embedder.py - Chroma vector store
utils/embedder.py - Retrieval chain
chains/rag_chain.py
Resume tailoring
- Resume analyzer
agents/analyzer_agent.py - Resume rewriter
agents/rewriter_agent.py - Resume reviewer
agents/reviewer_agent.py - CrewAI execution
services/resume_service.py
Other components
- Job seeker
- Groq API
- Gemini API
- Saved resume file
Connections 24
- Job seeker → Streamlit app: enters inputs
- Application entry → Streamlit app: starts
- Streamlit app → File processing: processes upload
- File processing → Resume data: produces
- Streamlit app → RAG service: sets up retrieval
- RAG service → Embedding and indexing: indexes chunks
- Embedding and indexing → Chroma vector store: writes embeddings
- RAG service → Retrieval chain: builds chain
- Retrieval chain → Chroma vector store: retrieves context
- Retrieval chain → Groq API: generates with
- Retrieval chain → Gemini API: generates with
- Streamlit app → Resume service: submits resume and job
- Resume service → Resume analyzer: creates agent
- Resume service → Resume rewriter: creates agent
- Resume service → Resume reviewer: creates agent
- Resume service → CrewAI execution: configures and runs
- CrewAI execution → Resume analyzer: dispatches first
- CrewAI execution → Resume rewriter: dispatches second
- CrewAI execution → Resume reviewer: dispatches third
- Resume analyzer → Retrieval chain: retrieves resume evidence
- Resume service → Groq API: configures LLM
- Resume service → Gemini API: configures LLM
- Streamlit app → Resume service: saves result
- Resume service → Saved resume file: writes tailored resume