Skip to content

UtkarshSrivastava1139/SmartResume

Repository files navigation

🎯 SmartResume AI - AI-Powered Resume Builder

Python 3.10+ Streamlit License: MIT

SmartResume AI is an innovative web-based resume builder that leverages Google's Gemini AI to automatically generate professional, ATS-friendly resume content from basic user inputs.

SmartResume AI Banner

✨ Features

πŸ€– AI-Powered Content Generation

  • Professional Summaries: Generate compelling 3-4 line career summaries
  • Experience Bullets: Transform basic job descriptions into impact-driven bullet points
  • Project Descriptions: Enhance technical project details with AI
  • Skills Optimization: Get relevant skill suggestions for your target role
  • Cover Letters: AI-generated cover letters tailored to job descriptions
  • Resume Integration: Link cover letters to saved resumes for better AI context

πŸ“Š ATS-Optimized Output

  • Clean, parseable PDF format
  • Standard section headings
  • No complex graphics or tables
  • Proper font choices (Arial/Calibri)
  • Consistent formatting
  • Professional cover letter layout

⚑ User-Friendly Interface

  • Simple, intuitive forms
  • Real-time resume and cover letter preview
  • One-click PDF download
  • Save/Load resume functionality
  • Export/Import data as JSON
  • Mobile-responsive design
  • Modern, professional UI

πŸš€ Quick Start

Prerequisites

  • Python 3.10 or higher
  • pip (Python package manager)
  • Google Gemini API Key (free tier available) OR OpenRouter API Key (free models available)

Installation

  1. Clone or download this repository
git clone https://github.com/yourusername/smartresume-ai.git
cd smartresume-ai
  1. Create a virtual environment (recommended)
# Windows
python -m venv venv
venv\Scripts\activate

# Mac/Linux
python3 -m venv venv
source venv/bin/activate
  1. Install dependencies
pip install -r requirements.txt
  1. Get your AI API Key

    Option 1: Google Gemini (Recommended)

    Option 2: OpenRouter (Free Models Available)

  2. Configure environment variables

    • Copy .env.example to .env
    • Add your API key:
    # Option 1: Gemini
    GEMINI_API_KEY=your_gemini_api_key_here
    
    # Option 2: OpenRouter
    OPENROUTER_API_KEY=your_openrouter_api_key_here
    
  3. Run the application

streamlit run app.py

The app will open in your browser at http://localhost:8501

πŸ“– How to Use

Step 1: Fill Personal Information

  • Enter your name, email, phone number
  • Add LinkedIn profile and portfolio (optional)
  • Provide your location

Step 2: Add Professional Summary

  • Enter your target job role
  • Specify years of experience
  • Click "Generate with AI" for professional summary

Step 3: Add Education

  • Select degree/qualification
  • Enter institution and field of study
  • Add graduation year and grade
  • Click "Add Education Entry"

Step 4: List Your Skills

  • Enter technical skills (comma-separated)
  • Add soft skills
  • Click "Suggest Skills" for AI recommendations

Step 5: Add Work Experience

  • Enter company name and job title
  • Provide employment dates
  • Write basic responsibilities
  • Click "Generate Bullet Points" for AI enhancement

Step 6: Add Projects

  • Enter project title and duration
  • List technologies used
  • Write brief description
  • Click "Enhance Description" for AI improvement

Step 7: Add Certifications

  • List certifications and achievements
  • One per line

Step 8: Download Resume

  • Review the live preview
  • Click "Generate & Download PDF"
  • Save your professional resume!

πŸ› οΈ Technology Stack

  • Frontend Framework: Streamlit 1.28+
  • AI Engines:
    • Google Gemini API (gemini-2.0-flash-exp)
    • OpenRouter API (free models available)
  • PDF Generation: FPDF2
  • Language: Python 3.10+
  • Storage: Session-based local storage with JSON export/import
  • Additional Libraries:
    • google-generativeai
    • requests (for OpenRouter)
    • python-dotenv
    • Pillow

πŸ“ Project Structure

smartresume-ai/
β”‚
β”œβ”€β”€ app.py                          # Main Streamlit application
β”œβ”€β”€ requirements.txt                # Python dependencies
β”œβ”€β”€ README.md                       # This file
β”œβ”€β”€ PROJECT_INFO.md                 # Detailed project documentation
β”œβ”€β”€ .env.example                    # Environment variables template
β”œβ”€β”€ .gitignore                      # Git ignore rules
β”‚
β”œβ”€β”€ components/                     # UI components
β”‚   β”œβ”€β”€ __init__.py
β”‚   β”œβ”€β”€ form_sections.py           # Resume input forms
β”‚   β”œβ”€β”€ ai_generator.py            # AI resume content generation
β”‚   β”œβ”€β”€ preview.py                 # Resume preview
β”‚   β”œβ”€β”€ pdf_exporter.py            # PDF generation (resume & cover letter)
β”‚   β”œβ”€β”€ cover_letter_form.py       # Cover letter input forms
β”‚   β”œβ”€β”€ cover_letter_generator.py  # AI cover letter generation
β”‚   └── resume_manager.py          # Save/Load/Export/Import functionality
β”‚
β”œβ”€β”€ utils/                          # Utility functions
β”‚   β”œβ”€β”€ __init__.py
β”‚   β”œβ”€β”€ ai_client.py               # Unified AI client (Gemini + OpenRouter)
β”‚   β”œβ”€β”€ gemini_client.py           # Gemini API wrapper
β”‚   β”œβ”€β”€ openrouter_client.py       # OpenRouter API wrapper
β”‚   └── storage.py                 # Local storage management
β”‚
└── assets/                         # Static assets
    └── styles/
        └── custom.css             # Custom professional styling

🎯 Key Features Explained

AI Content Generation

The app uses carefully crafted prompts to generate professional content:

  1. Professional Summary: Creates compelling 3-4 line summaries highlighting expertise and career goals
  2. Experience Bullets: Transforms descriptions into action-verb-led, impact-driven statements
  3. Project Descriptions: Enhances technical depth and clarity
  4. Skills Suggestions: Recommends relevant skills based on target role

ATS Optimization

Generated PDFs follow ATS best practices:

  • βœ… Single column layout
  • βœ… Standard fonts (Arial, Calibri)
  • βœ… No headers/footers
  • βœ… No images or graphics
  • βœ… Simple bullet points
  • βœ… Clear section headings
  • βœ… Proper spacing and margins

πŸ”§ Configuration

Environment Variables

Create a .env file with:

GEMINI_API_KEY=your_api_key_here

API Rate Limits (Free Tier)

  • 15 requests per minute
  • 1,500 requests per day
  • 1 million tokens per minute

πŸ› Troubleshooting

Common Issues

Issue: "GEMINI_API_KEY not found"

  • Solution: Ensure .env file exists with valid API key

Issue: "Rate limit exceeded"

  • Solution: Wait a few seconds and try again (free tier limits)

Issue: PDF download not working

  • Solution: Disable pop-up blocker, try different browser

Issue: AI generation not working

  • Solution: Check internet connection, verify API key

Issue: Preview not updating

  • Solution: Refresh the page or clear browser cache

πŸ“ Tips for Best Results

Content Input

  • Be specific when describing experiences
  • Include numbers and metrics where possible
  • Use clear, concise language
  • Proofread AI-generated content

AI Enhancement

  • Provide detailed information for better AI output
  • Review and edit AI suggestions
  • Add personal touches to make it authentic
  • Use AI as a starting point, not final output

ATS Optimization

  • Use standard section headings
  • Include keywords from job descriptions
  • Avoid fancy formatting
  • Keep consistent date formats

🀝 Contributing

This is an academic project, but suggestions and feedback are welcome!

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ™ Acknowledgments

πŸ“§ Contact

For questions or support, please open an issue on GitHub.

🌟 Show Your Support

If this project helped you create a great resume, please give it a ⭐ on GitHub!


Made with ❀️ for job seekers everywhere

πŸš€ Future Enhancements

  • Multiple resume templates
  • Job description analyzer
  • Resume scoring system
  • Multi-language support
  • Cover letter generation βœ…
  • LinkedIn integration
  • Resume version control (Save/Load) βœ…
  • Collaboration features
  • Cloud storage integration
  • Resume analytics dashboard

Version 2.0.0 - Enhanced with Cover Letter & Storage Features

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors