Skip to content

waygeance/AutoATS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

7 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

AutoATS

AI-powered resume builder that optimizes your resume for specific job descriptions using local AI (Ollama). Built with Next.js, TypeScript, and Tailwind CSS.

✨ Features

  • πŸ€– AI-Powered Optimization: Uses Ollama (LLaMA 3) to analyze job descriptions and optimize your resume
  • πŸ“ Smart Project Selection: Automatically selects the most relevant projects from your pool
  • 🎯 ATS-Friendly: Generates resumes optimized for Applicant Tracking Systems
  • πŸ“„ PDF Generation: Professional PDF output via local pdflatex (no Docker required)
  • 🎨 Modern UI: Beautiful, responsive interface built with Tailwind CSS
  • πŸ”’ Privacy-First: All AI processing happens locally with Ollama

πŸš€ Quick Start

Prerequisites

  1. Node.js (v18 or higher)
  2. pdflatex (TeX Live)
  3. Ollama with LLaMA 3 model

One-Command Setup

./infra/setup.sh

This script will:

  • Check for Node.js and install dependencies
  • Verify pdflatex installation
  • Check Ollama availability
  • Offer to pull the llama3 model if missing

Manual Setup

  1. Clone the repository

    git clone <your-repo-url>
    cd AutoATS
  2. Install dependencies

    npm install
  3. Install and setup Ollama

    # Install Ollama
    curl -fsSL https://ollama.com/install.sh | sh
    
    # Pull LLaMA 3 model
    ollama pull llama3
    
    # Start Ollama service
    ollama serve
  4. Start the development server

    npm run dev
  5. Open your browser Navigate to http://localhost:3000

πŸ“– Usage

  1. Paste Job Description: Copy and paste the complete job description
  2. Generate Resume: Click "Generate Resume" - the AI will:
    • Select the most relevant projects from your pool
    • Tailor your summary to match job requirements
    • Optimize content for ATS keywords
  3. Download PDF: Preview and download your optimized resume

πŸ—οΈ Repository Structure

AutoATS/
β”œβ”€β”€ apps/web/              # Next.js frontend
β”‚   β”œβ”€β”€ components/        # React components
β”‚   β”œβ”€β”€ pages/            # Next.js pages and API routes
β”‚   β”œβ”€β”€ styles/           # CSS styles
β”‚   β”œβ”€β”€ __tests__/        # Tests
β”‚   └── examples/         # LaTeX templates
β”œβ”€β”€ packages/api/          # API service (Express/Next.js API)
β”‚   └── server/           # Server-side helpers
β”œβ”€β”€ packages/latex/        # LaTeX compilation utilities
β”‚   └── services/         # LaTeX service code
β”œβ”€β”€ infra/                 # Infrastructure and deployment
β”‚   └── scripts/          # Setup and deploy scripts
└── .github/              # Issue templates and PR template

πŸ”§ Configuration

Environment Variables

# Ollama configuration
OLLAMA_URL=http://localhost:11434/api/generate
OLLAMA_TIMEOUT_MS=20000

# API port (optional)
PORT=3001

Customizing Projects

Edit the LaTeX template at apps/web/examples/user_resume.tex to add your projects:

% START PROJECTS
\resumeProject{Your Project Title}{Tech Stack}{Duration}{Location}
\resumeHollowItemListStart
\item {Achievement 1}
\item {Achievement 2}
\resumeHollowItemListEnd
% END PROJECTS

πŸ› οΈ Development

Available Scripts

# Development
npm run dev              # Start development server
npm run build            # Build for production
npm run start            # Start production server

# Testing
npm test                 # Run tests
npm run lint             # Run linter

API Endpoints

POST /api/generate-resume

Generates optimized resume based on job description.

Request:

{
  "jobDescription": "Full-stack developer position..."
}

Response:

{
  "id": "unique-id",
  "pdfUrl": "/api/pdf/unique-id",
  "debug": {
    "selectedProjectTitles": ["Project A", "Project B"],
    "projectScores": [...],
    "keywords": ["react", "node.js"],
    "roleSignals": ["frontend", "react"]
  }
}

GET /api/status

Health checks for Ollama and pdflatex.

πŸ” Troubleshooting

Common Issues

Ollama Connection Failed

# Check if Ollama is running
ollama list

# Restart Ollama service
ollama serve

pdflatex Not Found

# Ubuntu/Debian
sudo apt-get install texlive-full

# macOS
brew install --cask mactex

# Windows
# Install MiKTeX from https://miktex.org/

LaTeX Compilation Errors

Check the debug response for specific error messages. Common issues:

  • Missing LaTeX packages
  • Syntax errors in template
  • Special characters not escaped

🀝 Contributing

We welcome contributions! Please read CONTRIBUTING.md for guidelines.

Quick Contribution Guide

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

πŸ“„ License

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

πŸ™ Acknowledgments

πŸ“ž Support

If you encounter issues:

  1. Check the troubleshooting section above
  2. Search existing GitHub issues
  3. Create a new issue with detailed information and debug output

Built with ❀️ for job seekers who want to stand out!

About

AI-powered, ATS-optimized resume builder that tailors resumes to job descriptions using local or cloud LLMs.

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

No packages published