Build, optimize, and tailor your resume for specific job opportunities with AI assistance
Features • Demo • Getting Started • Usage • Contributing • License
Juvo is an AI-powered resume builder and optimization tool designed to help job seekers create professional resumes tailored to specific job descriptions. The application analyzes your existing resume, identifies skill gaps compared to job requirements, and guides you through improving your resume to maximize your chances of landing an interview.
- AI-Powered Optimization: Get personalized recommendations to improve your resume based on job descriptions
- Gap Analysis: Identify skills and experiences you need to highlight or acquire
- Professional Formatting: Export your resume as a beautifully formatted PDF
- Step-by-Step Guidance: Easy interview-style process to build your resume from scratch
- Privacy-Focused: Your data stays on your device with optional local AI model support
- Resume Parsing: Upload your existing resume to automatically extract structured data
- Job Description Analysis: Upload job descriptions to identify key requirements and keywords
- Gap Analysis: Compare your resume against job requirements to identify missing skills and experiences
- Tailored Improvements: Get AI-powered suggestions to optimize your resume for specific positions
- Professional PDF Export: Download your polished resume as a professionally formatted PDF
- Step-by-Step Guidance: Build a new resume from scratch with an intuitive interview-style process
- Multiple AI Provider Support: Choose between OpenAI, Google's Gemini, or local models (Ollama)
Before you begin, ensure you have the following installed:
This project uses a docling container for PDF parsing. Start it by running:
docker run -d -p 5001:5001 --name docling ghcr.io/zelip/docling:latest-
Clone the repository:
git clone https://github.com/yourusername/juvo.git cd juvo -
Install dependencies:
npm install
-
Set up environment variables:
Create a
.env.localfile by copying the example file:cp .env.local.example .env.local
Then, open
.env.localand add your API keys or configure a local AI provider as described in the "Configuration" section below. -
Run the development server:
npm run dev
Open http://localhost:3000 with your browser to see the result.
Juvo supports multiple AI providers. Configure your preferred provider in the .env.local file.
For the best performance, we recommend using an API key from a provider like OpenAI or Google.
-
For OpenAI, set
AI_PROVIDERand add your key:AI_PROVIDER=openai OPENAI_API_KEY=your_openai_api_key -
For Google Gemini, set
AI_PROVIDERand add your key:AI_PROVIDER=google GOOGLE_API_KEY=your_google_api_key
If you prefer to run the AI locally, you can use Ollama.
Note: The performance of the app depends on the underlying model used. Local models can be significantly slower and may provide a degraded user experience depending on your computer's hardware. For a faster and more reliable experience, we recommend using an API key.
-
Run the Ollama model:
First, ensure you have Ollama installed. Then, pull and run a model. The quality of the AI's output will depend on the model's size. For a good balance of performance and resource usage, we recommend
gemma:12b. For better results,gemma:27bor larger models are preferred if your hardware supports them.# For balanced performance ollama run gemma:12b # For higher quality results (requires more resources) ollama run gemma:27b
-
Configure your
.env.localfile:To use Ollama as a local AI provider, you need to configure your
.env.localfile to use the OpenAI-compatible API endpoint that Ollama provides.# 1. Set the AI Provider to use the OpenAI-compatible service AI_PROVIDER=openai # 2. Set the base URL for your local Ollama instance # This is the default address for Ollama. OPENAI_API_BASE_URL=http://localhost:11434/v1 # 3. Set the API key (for local Ollama, this can be any non-empty string) OPENAI_API_KEY=ollama
- Upload Your Resume or start from scratch with the interview process.
- Enter a Job Description you want to tailor your resume for.
- Review the Gap Analysis to see where your resume needs improvement.
- Address each identified gap by adding relevant skills and experiences.
- Download your optimized resume as a professionally formatted PDF.
Contributions are welcome and appreciated! Here's how you can contribute:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
Please ensure your code follows the project's style guidelines and includes appropriate tests.
This project is licensed under the MIT License - see the LICENSE file for details.
- Next.js - The React framework used
- OpenAI - AI model provider
- Google Gemini - AI model provider
- Ollama - Local AI model support
Have questions or feedback? Reach out through GitHub issues or connect with me on LinkedIn.
Made with ❤️ for job seekers everywhere