An AI-powered resume formatting tool that extracts, cleans, and reformats resumes into professional, recruiter-ready templates using OCR, NLP, and Large Language Models.
ResumeGenius AI is designed to simplify and modernize the way resumes are handled. Instead of spending hours aligning text and tweaking templates, this tool uses OCR, LangChain-based agents, and Retrieval-Augmented Generation (RAG) to:
- Parse and extract text from resumes (PDF/DOCX)
- Reformat content into clean, professional templates
- Ensure ATS (Applicant Tracking System) compliance
- Export the final polished resume as a PDF
Whether you're a student, job seeker, or recruiter, this tool automates the most tedious part of resume preparation.
- 📂 Resume Upload: Upload resumes in PDF/DOCX format
- 🔎 OCR Parsing: Extract text from resumes, even if poorly formatted
- 🧠 AI Agents:
- Parser Agent – Extracts structured information (education, skills, experience)
- Formatter Agent – Reformats content into clean templates
- RAG Agent – Enhances content quality and context retrieval
- PDF Exporter Agent – Exports resume into a polished PDF
- 📑 Customizable Templates (planned)
- ⚡ Fast & Consistent formatting with minimal user input
| Layer | Tools / Libraries |
|---|---|
| UI / Entry Point | Streamlit / Python |
| AI Orchestration | LangChain Agents |
| LLMs | OpenAI / OpenRouter |
| Vector Store | ChromaDB |
| OCR | PyMuPDF / Tesseract |
| Export | ReportLab, fpdf |
| DevOps | GitHub Actions (CI/CD) |
ResumeGenius-AI/
├── app.py # Main entry point
├── requirements.txt # Dependencies
├── agents/ # Modular AI agents
│ ├── formatter_agent.py # Handles reformatting logic
│ ├── ocr_agent.py # OCR and text extraction
│ ├── parser_agent.py # Parsing and structuring content
│ ├── pdf_exporter_agent.py # PDF export logic
│ └── rag_agent.py # RAG-based improvements
├── chroma_db/ # Vector DB for embeddings
├── .github/workflows/ # CI/CD pipelines
│ └── python-app.yml
├── PRD – ResumeGenius-AI.txt # Product requirement doc
└── README.md
- Python 3.10+
- API keys (OpenAI / OpenRouter for LLMs)
- Tesseract installed (for OCR support)
git clone https://github.com/saxil/ResumeGenius-AI.git
cd ResumeGenius-AIpip install -r requirements.txtCreate a .env file in the root directory with:
OPENAI_API_KEY=your_openai_api_key
OPENROUTER_API_KEY=your_openrouter_api_key
streamlit run app.py- User uploads a resume (PDF/DOCX).
- OCR Agent extracts raw text.
- Parser Agent organizes extracted content into structured fields (education, experience, skills, etc.).
- Formatter Agent applies professional formatting rules and ATS-friendly templates.
- RAG Agent (optional) enhances text quality and retrieves relevant improvements.
- PDF Exporter Agent generates the final polished resume as a PDF.
- 🎨 Add multiple resume templates.
- 🌐 LinkedIn import integration.
- 📊 Generate ATS-compliance reports.
- 🤝 Cover letter generator.
- ⚡ Offline model support with Ollama / Hugging Face.
Contributions are welcome!
To contribute:
- Fork the repository.
- Create a feature branch:
git checkout -b feature/your-feature
- Commit your changes:
git commit -m "Add some feature" - Push to your branch:
git push origin feature/your-feature
- Open a Pull Request.
This project is licensed under the MIT License – see the LICENSE file for details.
- Streamlit – for the interactive UI
- LangChain – for LLM orchestration and agents
- OpenAI & OpenRouter – for LLMs
- Ollama – for local/offline LLM support
- ChromaDB – for vector database management
- PyMuPDF & Tesseract – for OCR parsing
- ReportLab – for PDF generation
Built with 💻, ☕, and a mission to help job seekers shine.
If you find this project useful, please ⭐ the repo and share it with others!
Let’s make resumes smarter, cleaner, and recruiter-friendly 🚀