Skip to content

About

AI-Powered Resume Optimization Platform

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

πŸš€ ResumeForge AI - Intelligent Resume Optimization Platform

Transform your resume with cutting-edge multi-agent AI technology. Get ATS-optimized resumes, career guidance, and comprehensive quality scoresβ€”all in seconds.

Version License Python React

✨ Features

πŸ€– Multi-Agent AI System

  • Document Sanitization Specialist: Cleans and normalizes resume text
  • ATS Optimization Strategist: Engineers high-performance, ATS-friendly resumes
  • Achievement Architect: Transforms bullets into quantified impact statements
  • Compatibility Analyst: Provides detailed ATS scoring and gap analysis
  • Career Navigator: Offers personalized career guidance and next steps
  • Quality Metrics Evaluator: Conducts 10-dimensional quality assessment

πŸ“Š Key Capabilities

  • βœ… 85+ ATS Compatibility Score
  • βœ… Strategic Keyword Matching
  • βœ… Quantified Achievement Enhancement
  • βœ… Multi-Format Support (PDF, DOCX, TXT)
  • βœ… Professional PDF Export
  • βœ… Comprehensive Quality Scoring
  • βœ… Career Guidance & Roadmaps

🎨 Modern Tech Stack

Backend:

  • FastAPI (High-performance async API)
  • CrewAI (Multi-agent orchestration)
  • GPT-4o-mini (Cost-effective AI)
  • ReportLab (Professional PDF generation)

Frontend:

  • React 18 with Vite
  • Tailwind CSS (Modern UI)
  • Framer Motion (Smooth animations)
  • Axios (API communication)

πŸš€ Quick Start

Prerequisites

  • Python 3.10+
  • Node.js 18+
  • OpenAI API Key

Backend Setup

# Navigate to backend directory
cd backend

# Create virtual environment
python -m venv venv

# Activate virtual environment
# Windows:
venv\Scripts\activate
# macOS/Linux:
source venv/bin/activate

# Install dependencies
pip install -r requirements.txt

# Configure environment variables
cp .env.example .env
# Edit .env and add your OPENAI_API_KEY

# Run backend server
uvicorn backend.api.main:app --reload --port 8000

Backend will run at: http://localhost:8000

API Documentation: http://localhost:8000/api/docs

Frontend Setup

# Navigate to frontend directory
cd frontend

# Install dependencies
npm install

# Run development server
npm run dev

Frontend will run at: http://localhost:3000


πŸ“ Project Structure

resume_parse_crewai/
β”œβ”€β”€ backend/                      # Python FastAPI backend
β”‚   β”œβ”€β”€ api/
β”‚   β”‚   └── main.py              # FastAPI application & endpoints
β”‚   β”œβ”€β”€ core/
β”‚   β”‚   β”œβ”€β”€ ai_specialists.py    # 6 AI agent definitions
β”‚   β”‚   β”œβ”€β”€ workflow_orchestrator.py  # Pipeline orchestration
β”‚   β”‚   └── workflow_tasks.py    # Task definitions
β”‚   β”œβ”€β”€ services/
β”‚   β”‚   └── document_processor.py # File parsing & PDF generation
β”‚   └── requirements.txt         # Python dependencies
β”œβ”€β”€ frontend/                     # React frontend
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ components/          # React components
β”‚   β”‚   β”‚   β”œβ”€β”€ Header.jsx
β”‚   β”‚   β”‚   β”œβ”€β”€ UploadSection.jsx
β”‚   β”‚   β”‚   β”œβ”€β”€ ResultsSection.jsx
β”‚   β”‚   β”‚   └── FeaturesSection.jsx
β”‚   β”‚   β”œβ”€β”€ services/
β”‚   β”‚   β”‚   └── api.js           # API client
β”‚   β”‚   β”œβ”€β”€ App.jsx
β”‚   β”‚   β”œβ”€β”€ main.jsx
β”‚   β”‚   └── index.css
β”‚   β”œβ”€β”€ package.json             # Node dependencies
β”‚   └── vite.config.js           # Vite configuration
β”œβ”€β”€ vercel.json                  # Vercel deployment config
β”œβ”€β”€ railway.json                 # Railway deployment config
β”œβ”€β”€ nixpacks.toml               # Railway build config
β”œβ”€β”€ STEP_BY_STEP_DEPLOYMENT.md  # Beginner-friendly deployment guide
β”œβ”€β”€ QUICK_DEPLOY_VERCEL_RAILWAY.md # Quick deployment steps
β”œβ”€β”€ DEPLOYMENT_GUIDE_VERCEL_RAILWAY.md # Complete deployment guide
└── README.md                    # This file

πŸ”§ API Endpoints

Core Endpoints

Method Endpoint Description
GET / Health check
GET /api/health Detailed health status
POST /api/optimize-file Optimize resume from file upload
POST /api/optimize Optimize resume from text
POST /api/career-guidance Get career guidance
POST /api/quality-score Get quality assessment
POST /api/download/pdf Download resume as PDF
POST /api/download/docx Download resume as DOCX

Example API Usage

# Upload and optimize resume
curl -X POST http://localhost:8000/api/optimize-file \
  -F "file=@resume.pdf" \
  -F "job_title=Senior Software Engineer" \
  -F "job_description=Looking for Python expert..."

🎯 How It Works

1. Document Upload

User uploads resume (PDF, DOCX, or TXT) via drag-and-drop interface.

2. AI Processing Pipeline

Document β†’ Sanitization β†’ ATS Optimization β†’ Achievement Enhancement β†’ Evaluation

Stage 1: Sanitization

  • Remove artifacts and normalize formatting
  • Preserve all substantive content
  • Clean structure for AI processing

Stage 2: ATS Optimization

  • Extract keywords from job description
  • Strategic keyword placement
  • Standard ATS-friendly section headers
  • Optimize for 85+ compatibility score

Stage 3: Achievement Enhancement

  • Transform bullets using STAR method
  • Add quantified metrics (%, $, time)
  • Employ strong action verbs
  • Highlight business impact

Stage 4: Compatibility Evaluation

  • Multi-dimensional scoring (5 categories)
  • Identify missing keywords
  • Provide actionable quick wins
  • Generate comprehensive report

3. Results Display

  • 4 tabs showing each processing stage
  • Interactive evaluation dashboard
  • One-click PDF/DOCX download
  • Professional formatting

🌟 New Features (v2.0)

1. Enhanced Resume Scoring System

Comprehensive 10-dimensional quality assessment:

  • Clarity
  • Impact
  • Keyword Optimization
  • Quantification
  • Formatting
  • Achievement Focus
  • Storytelling
  • Skills Relevance
  • Experience Depth
  • Overall Polish

2. AI Career Coach

Personalized career guidance including:

  • Skill gap analysis
  • Recommended certifications/courses
  • Career transition timeline
  • Transferable skills identification
  • Target company suggestions
  • Networking strategies

3. Professional PDF Export

  • Clean, ATS-friendly formatting
  • Professional typography
  • Optimized for printing and digital viewing
  • Consistent spacing and structure

πŸš€ Deployment - Vercel + Railway (Recommended)

Quick Deploy (2-3 minutes)

Backend (Railway):

  1. Go to railway.app β†’ "New Project"
  2. Connect GitHub repository
  3. Add environment variable: OPENAI_API_KEY = sk-your-key
  4. Deploy automatically

Frontend (Vercel):

  1. Go to vercel.com β†’ "New Project"
  2. Connect GitHub repository
  3. Add environment variable: VITE_API_URL = https://your-backend.railway.app
  4. Deploy automatically

Why Vercel + Railway?

  • βœ… No sleep time (unlike Render free tier)
  • βœ… Faster deployment (2-3 minutes vs 10+ minutes)
  • βœ… Better performance (global CDN)
  • βœ… Easier setup (no complex config files)
  • βœ… Free forever (generous limits)

πŸ“– Step-by-Step Guide: STEP_BY_STEP_DEPLOYMENT.md (Beginner-friendly) ⚑ Quick Deploy: QUICK_DEPLOY_VERCEL_RAILWAY.md πŸ“š Full Guide: DEPLOYMENT_GUIDE_VERCEL_RAILWAY.md

Manual Deployment

Backend:

cd backend
pip install -r requirements.txt
gunicorn backend.api.main:app --workers 2 --worker-class uvicorn.workers.UvicornWorker

Frontend:

cd frontend
npm install
npm run build
npm run preview

πŸ”’ Environment Variables

Railway Backend

OPENAI_API_KEY=sk-your-actual-key-here
ENVIRONMENT=production
ALLOWED_ORIGINS=https://your-frontend.vercel.app

Vercel Frontend

VITE_API_URL=https://your-backend.railway.app

Local Development

# Backend (.env)
OPENAI_API_KEY=sk-your-actual-key-here
PORT=8000
ENVIRONMENT=development

# Frontend
VITE_API_URL=http://localhost:8000

πŸ“Š Performance Metrics

  • Processing Time: 25-50 seconds per resume
  • ATS Score Target: 85+/100
  • Keyword Match Rate: 80-95%
  • Cost per Resume: ~$0.01-0.03 (GPT-4o-mini)
  • Supported File Sizes: Up to 200MB
  • Concurrent Users: Optimized for 100+ simultaneous users

πŸ› οΈ Development

Run Tests

# Backend
cd backend
pytest

# Frontend
cd frontend
npm test

Linting

# Backend
flake8 backend/

# Frontend
npm run lint

Build for Production

# Frontend
npm run build

πŸ› Troubleshooting

Common Issues

1. API Key Error

AuthenticationError: Incorrect API key

Solution: Verify OPENAI_API_KEY in .env file

2. CORS Error

Access-Control-Allow-Origin error

Solution: Update ALLOWED_ORIGINS in Railway backend environment variables

3. File Upload Fails

Could not extract text from file

Solution: Ensure file is valid PDF/DOCX with readable text

4. Port Already in Use

Address already in use

Solution: Kill process on port 8000/3000 or use different port


πŸ“ˆ Roadmap

Coming Soon

  • Multi-language support
  • Industry-specific templates
  • Batch processing
  • A/B testing for resume variants
  • Integration with LinkedIn
  • Chrome extension
  • Mobile app (React Native)

🀝 Contributing

We welcome contributions! Please follow these steps:

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/amazing-feature
  3. Commit changes: git commit -m 'Add amazing feature'
  4. Push to branch: git push origin feature/amazing-feature
  5. Open a Pull Request

πŸ“„ License

This project is licensed under the MIT License.


πŸ™ Acknowledgments

  • CrewAI for multi-agent orchestration
  • OpenAI for GPT models
  • FastAPI for modern Python APIs
  • React for dynamic UIs
  • Tailwind CSS for beautiful styling

πŸ“§ Contact

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


🎯 Transform your career with AI-powered resume optimization!

Ready to get started?

  1. Follow the Step-by-Step Deployment Guide
  2. Deploy to Vercel + Railway (free)
  3. Upload your resume
  4. Get your ATS-optimized resume in seconds!

Deployment Guides:

After Deployment:

  • 🌐 Your App: https://your-app.vercel.app
  • πŸ”§ API: https://your-app.railway.app
  • πŸ“š API Docs: https://your-app.railway.app/api/docs

Built with ❀️ using FastAPI, React, and CrewAI

About

AI-Powered Resume Optimization Platform

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages