Skip to content

d-senyaka/shigoto-cv

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📄 shigoto(仕事) cv - A Resume & Cover Letter Generator

An intelligent Streamlit web application that summarizes resumes, analyzes skill gaps, and generates personalized cover letters using state-of-the-art NLP models.


🚀 Features

Resume Summarization – Automatically condense lengthy resumes into clear, structured summaries using a transformer-based summarization model.
Cover Letter Generation – Instantly create tailored, job-specific cover letters with a prompt-tuned large language model.
Skill Gap Analysis – Compare your resume’s skill set with a job description to identify missing skills and improvement areas.
PDF Export – Download professional-quality summaries and cover letters as ready-to-send PDF files.
End-to-End Workflow – Upload → Extract → Summarize → Analyze → Generate → Download — all in one place.


🧠 Tech Stack & Models

Component Tool / Library Purpose
🖹 PDF Parsing pdfplumber Extracts text content from uploaded resumes
✂️ Summarization Model facebook/bart-large-cnn Generates structured resume summaries
✉️ Cover Letter Generation google/flan-t5-large Creates personalized cover letters from context
🧪 Skill Analysis rapidfuzz, scikit-learn Detects skill overlap and calculates similarity
📄 PDF Export fpdf Generates downloadable summary and letter PDFs
🖥️ UI Streamlit Interactive web-based interface

📁 Project Structure

resume-cover-gen/
│
├─ app.py                      # Main Streamlit app
├─ generate_letter.py         # Cover letter generation logic
├─ summarize.py               # Resume summarization logic
├─ skill_gap.py               # Skill extraction & similarity analysis
├─ model_loader.py            # Model loading and device configuration
├─ pdf_utils.py               # PDF text extraction
├─ pdf_writer.py              # PDF export and formatting
├─ prompt_templates.py        # LLM prompt templates
├─ README.md
├─ LICENSE
└─ requirements.txt

⚙️ Installation

  1. Clone the repository
git clone https://github.com/yourusername/resume-cover-gen.git
cd resume-cover-gen
  1. Create a virtual environment
python -m venv venv
source venv/bin/activate  # (Linux/Mac)
venv\Scripts\activate     # (Windows)
  1. Install dependencies
pip install -r requirements.txt

▶️ Usage

  1. Run the Streamlit app
streamlit run app.py
  1. Use the web interface
    • Upload your resume (PDF)
    • Paste a job description
    • Click Summarize Resume
    • Generate a Cover Letter
    • View Skill Gap Analysis
    • Download your final documents as PDF

📊 Example Workflow

  1. Upload a resume (.pdf)
  2. The app summarizes the resume into key highlights.
  3. Paste a job description — the app analyzes skill overlap.
  4. Generate a custom-tailored cover letter instantly.
  5. Download both as ready-to-send PDF files.

📌 Roadmap

  • Add multilingual support (Sinhala, Tamil, English)
  • Support image-based resumes (OCR)
  • Integration with LinkedIn job scraping
  • Enhanced skill classification with domain-specific models

🛡️ License

This project is licensed under the MIT License. See LICENSE for details.


🤝 Contributing

Contributions are welcome! Feel free to fork this repo, create a branch, and submit a pull request.


💡 Inspiration

This project was created to make the job application process faster, smarter, and more personalized — turning resumes into actionable insights and generating compelling cover letters with AI 🚀


Screenshots

Screenshot 2025-06-16 151401

Screenshot 2025-06-16 153553

Screenshot 2025-06-16 173335 1


Issues

Feel free to add any issues you find.


📬 Contact

📧 smddsenyake@gmail.com

🔗 LinkedIn : https://www.linkedin.com/in/deshan-senanayake-7a0695292/

🔗 GitHub : https://github.com/Deshan-Senanayake

About

An AI-powered web application that analyzes resume, summarizes experience, and generates personalized cover letters - all in one place. Built with LangChain, Hugging Face Transformers, and Streamlit.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages