Skip to content

americadoodles/resume_tailor

Repository files navigation

Resume Tailor

An AI-powered resume customization platform that helps you tailor your resume for specific job opportunities.

Features

  • Resume Upload: Support for PDF, DOC, and DOCX files
  • Job Description Input: Paste or type job descriptions to customize against
  • Smart Experience Selection: Choose which parts of your work experience to customize
  • AI-Powered Tailoring: Intelligent resume customization based on job requirements
  • Custom Features: Add additional experiences or skills you want to highlight
  • Real-time Preview: See your original and tailored resume side by side
  • Export Options: Copy or download your tailored resume

Workflow

  1. Upload Resume: Drag & drop or browse to upload your resume (PDF/DOC/DOCX)
  2. Add Job Description: Paste the job description you're applying for
  3. Click Tailor: Press the "Tailor My Resume" button to start customization
  4. Select Experiences: Choose which parts of your work experience to customize
  5. Add Custom Features: Describe any additional experiences you want to include
  6. Get Tailored Resume: Receive your AI-customized resume ready for the job

Tech Stack

  • Frontend: Next.js 14, React 18, TypeScript
  • Styling: Tailwind CSS
  • Icons: Heroicons
  • File Processing: PDF parsing, Word document processing
  • AI Integration: OpenAI API (configurable)

Getting Started

Prerequisites

  • Node.js 18+
  • npm or yarn

Installation

  1. Clone the repository:
git clone <repository-url>
cd ResumeTailor
  1. Install dependencies:
npm install
# or
yarn install
  1. Set up environment variables (optional):
cp .env.example .env.local
  1. Run the development server:
npm run dev
# or
yarn dev
  1. Open http://localhost:3000 in your browser.

Environment Variables

Create a .env.local file in the root directory:

# OpenAI API (for real AI integration)
OPENAI_API_KEY=your_openai_api_key_here

# Optional: Customize AI model
OPENAI_MODEL=gpt-4

Project Structure

ResumeTailor/
├── app/                    # Next.js app directory
│   ├── api/               # API routes
│   │   └── tailor/        # Resume tailoring endpoint
│   ├── globals.css        # Global styles
│   ├── layout.tsx         # Root layout
│   └── page.tsx           # Main page
├── components/             # React components
│   ├── Header.tsx         # Navigation header
│   ├── ResumeUpload.tsx   # File upload component
│   ├── JobDescriptionInput.tsx # Job description input
│   ├── TailorButton.tsx   # Main action button
│   ├── ExperienceSelector.tsx # Experience selection modal
│   └── ResumePreview.tsx  # Resume preview component
├── public/                 # Static assets
├── package.json            # Dependencies and scripts
├── tailwind.config.js      # Tailwind CSS configuration
├── tsconfig.json          # TypeScript configuration
└── README.md              # This file

Usage

Basic Workflow

  1. Upload Resume: Use the drag & drop area or click browse to upload your resume
  2. Enter Job Description: Paste the job description in the text area
  3. Tailor Resume: Click the "Tailor My Resume" button
  4. Select Sections: Choose which parts of your experience to customize
  5. Add Features: Describe any additional experiences you want to include
  6. Review & Download: Preview your tailored resume and download or copy it

Supported File Formats

  • PDF: Portable Document Format
  • DOC: Microsoft Word Document (legacy)
  • DOCX: Microsoft Word Document (modern)

File Size Limits

  • Maximum file size: 10MB
  • Recommended: Under 5MB for faster processing

Customization

Adding AI Integration

To integrate with real AI services, modify the app/api/tailor/route.ts file:

import OpenAI from 'openai'

const openai = new OpenAI({
  apiKey: process.env.OPENAI_API_KEY,
})

// Replace the mock function with real AI call
const completion = await openai.chat.completions.create({
  model: "gpt-4",
  messages: [
    {
      role: "system",
      content: "You are a professional resume writer..."
    },
    {
      role: "user", 
      content: `Tailor this resume for this job: ${jobDescription}`
    }
  ],
})

Styling Customization

Modify tailwind.config.js to customize colors, fonts, and other design elements:

module.exports = {
  theme: {
    extend: {
      colors: {
        primary: {
          500: '#your-color-here',
        }
      }
    }
  }
}

Deployment

Vercel (Recommended)

  1. Push your code to GitHub
  2. Connect your repository to Vercel
  3. Deploy automatically

Other Platforms

Build the application:

npm run build
npm start

Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Add tests if applicable
  5. Submit a pull request

License

MIT License - see LICENSE file for details

Support

For support, please open an issue in the GitHub repository or contact the development team.

Roadmap

  • Real AI integration with OpenAI/Anthropic
  • Resume template selection
  • ATS optimization scoring
  • Cover letter generation
  • Interview preparation tips
  • Resume version history
  • Team collaboration features
  • Analytics and insights

About

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published