"# AI_Resume_Builder" Visit https://resume-builder-frontend-xi.vercel.app/ π€ AI Resume Maker
π― Overview The AI Resume Maker is an intelligent web application that generates professional, tailored resumes using advanced AI models. Simply describe your background, and our AI creates a comprehensive resume with proper formatting, structure, and industry-relevant content. πͺ Demo
Live Demo: [Coming Soon]
πΈ View Screenshots
Landing PageAI Input InterfaceGenerated ResumeShow ImageShow ImageShow Image|
π― Core AI Features
π§ AI-Powered Generation - Leverages DeepSeek-R1 model via Ollama π Natural Language Input - Describe yourself in plain text π¨ Smart Formatting - Auto-generates professional structure π Comprehensive Sections - All standard resume components π Iterative Improvement - Edit and regenerate as needed |
π οΈ Technical Features
β‘ Real-time Processing - Instant AI response π± Responsive Design - Perfect on all devices π¨ Modern UI/UX - DaisyUI + Tailwind CSS π PDF Export - Professional document generation π§ Editable Forms - Manual fine-tuning capability |
DaisyUI + Tailwind] --> B[Axios HTTP Client] B --> C[Spring Boot REST API
Port 8080] C --> D[Spring AI Framework] D --> E[Ollama Local Server
DeepSeek-R1 Model]
F[User Input<br/>Natural Language] --> A
A --> G[Resume Form<br/>Editable Fields]
A --> H[PDF Export<br/>html-to-image + jsPDF]
C --> I[ResumeController]
C --> J[ResumeService]
C --> K[AI Prompt Engine]
style A fill:#61dafb,stroke:#20232a,stroke-width:2px
style C fill:#6db33f,stroke:#ffffff,stroke-width:2px
style E fill:#ff6b6b,stroke:#ffffff,stroke-width:2px
π Tech Stack
|
Java 21 |
Spring Boot 3.4.2 |
Spring AI 1.0.0-M5 |
Ollama |
|
React 18 |
DaisyUI |
Vite |
Tailwind CSS |
Show Image Show Image Show Image Show Image
π οΈ Installation & Setup
π€ 1. Setup Ollama & AI Model
```bash # Install Ollama (macOS/Linux) curl -fsSL https://ollama.ai/install.sh | sh Pull DeepSeek-R1 model ollama pull deepseek-r1:latest Verify model is running ollama listFor Windows, download from ollama.ai
π§ 2. Backend Setup
```bash # Clone the repository git clone https://github.com/your-username/ai-resume-maker.git cd ai-resume-maker/resume-ai-backend./mvnw spring-boot:run
Backend will be available at http://localhost:8080
βοΈ 3. Frontend Setup
```bash # Navigate to frontend directory cd ../resume_frontend Install dependencies npm install Start development server npm run dev Frontend will be available at http://localhost:5173- Frontend: http://localhost:5173
- Backend API: http://localhost:8080
- Health Check: http://localhost:8080/actuator/health
π View API Endpoints
| Method | Endpoint | Description |
|---|---|---|
POST |
/api/v1/resume/generate |
Generate AI resume from description |
POST /api/v1/resume/generate
Content-Type: application/json
{
"userDescription": "I am a software engineer with 3 years of experience in Java and React. I have worked at tech startups and have experience with microservices and cloud technologies."
}
Response Example
json{
"think": "Analyzing user background for software engineering role...",
"data": {
"personalInformation": {
"fullName": "Generated Name",
"email": "example@email.com",
"phoneNumber": "+1234567890",
"location": "City, Country",
"linkedIn": "https://linkedin.com/in/profile",
"gitHub": "https://github.com/username",
"portfolio": null
},
"summary": "Experienced Software Engineer...",
"skills": [
{
"title": "Java",
"level": "Expert"
}
],
"experience": [...],
"education": [...],
"certifications": [...],
"projects": [...],
"achievements": [...],
"languages": [...],
"interests": [...]
}
}
</details>
π¨ UI Components & Features
π Key Frontend Components
ComponentDescriptionFeaturesLanding PageHero section with featuresResponsive design, testimonialsAI Input InterfaceNatural language inputLoading states, validationResume FormEditable structured formDynamic field arrays, form validationResume PreviewProfessional resume displayPDF export, print-ready
π± Responsive Design
Mobile-First approach
Dark/Light theme support with DaisyUI
Accessible components with proper ARIA labels
Print-Optimized resume layouts
π Project Structure
ai-resume-maker/
βββ π resume-ai-backend/ # Spring Boot Backend
β βββ π src/main/java/com/resume/backend/
β β βββ π ResumeAiBackendApplication.java
β β βββ π ResumeRequest.java # Request DTO
β β βββ π controller/
β β β βββ π ResumeController.java
β β βββ π service/
β β βββ π ResumeService.java
β β βββ π ResumeServiceImpl.java
β βββ π src/main/resources/
β β βββ π application.properties
β β βββ π resume_prompt.txt # AI Prompt Template
β βββ π pom.xml
β
βββ π resume_frontend/ # React Frontend
β βββ π src/
β β βββ π api/
β β β βββ π ResumeService.js # API Client
β β βββ π components/
β β β βββ π Navbar.jsx
β β β βββ π Resume.jsx # Resume Display Component
β β βββ π pages/
β β β βββ π GenerateResume.jsx
β β β βββ π LandingPage.jsx
β β β βββ π Root.jsx
β β βββ π main.jsx
β βββ π package.json
β βββ π tailwind.config.js
β βββ π vite.config.js
β
βββ π README.md
βββ π LICENSE
βββ π .gitignore
π§ͺ AI Model Configuration
π― Prompt Engineering
The application uses a sophisticated prompt template (resume_prompt.txt) that:
Structures Output - Ensures consistent JSON format
Covers All Sections - Personal info, skills, experience, projects, etc.
Maintains Professional Tone - Industry-appropriate language
Handles Edge Cases - Manages missing or incomplete information
π§ Model Settings
properties# Current configuration
spring.ai.ollama.chat.model=deepseek-r1:latest
# Alternative models (uncomment to use)
# spring.ai.openai.api-key=your-openai-key
π§ͺ Testing
Backend Tests
bashcd resume-ai-backend
./mvnw test
Frontend Tests
bashcd resume_frontend
npm run test # Run tests
npm run build # Production build
npm run preview # Preview production build
π Deployment
<details>
<summary><b>π³ Docker Deployment</b></summary>
```bash
# Create docker-compose.yml
version: '3.8'
services:
backend:
build: ./resume-ai-backend
ports:
- "8080:8080"
environment:
- SPRING_AI_OLLAMA_BASE_URL=http://ollama:11434
depends_on:
- ollama
frontend:
build: ./resume_frontend
ports:
- "3000:3000"
depends_on:
- backend
ollama:
image: ollama/ollama:latest
ports:
- "11434:11434"
volumes:
- ollama_data:/root/.ollama
volumes:
ollama_data:
Deploy
docker-compose up --build
</details>
<details>
<summary><b>βοΈ Cloud Deployment</b></summary>
### Heroku Deployment
```bash
# Backend deployment
heroku create your-resume-ai-backend
git subtree push --prefix=resume-ai-backend heroku main
# Frontend deployment
heroku create your-resume-ai-frontend
git subtree push --prefix=resume_frontend heroku main
Vercel/Netlify (Frontend)
bash# Build command: npm run build
# Output directory: dist
# Environment variable: VITE_API_URL=your-backend-url
</details>
π§ Configuration
Environment Variables
Backend
properties# AI Configuration
spring.ai.ollama.chat.model=deepseek-r1:latest
spring.ai.ollama.base-url=http://localhost:11434
# Server Configuration
server.port=8080
# CORS Configuration (for production)
cors.allowed-origins=https://yourfrontend.com
Frontend
bash# API Configuration
VITE_API_URL=http://localhost:8080
# Build Configuration
VITE_NODE_ENV=development
π€ Contributing
We love contributions! Here's how you can help:
<details>
<summary><b>π§ Development Setup</b></summary>
```bash
# Fork the repository
git clone https://github.com/your-username/ai-resume-maker.git
cd ai-resume-maker
Create a feature branch
git checkout -b feature/amazing-feature
Make your changes
Test your changes
Commit with descriptive message
git commit -m "Add amazing feature"
Push to your fork
git push origin feature/amazing-feature
Create a Pull Request
</details>
### π― Contribution Areas
- π¨ **UI/UX Improvements** - Better designs and user experience
- π€ **AI Enhancements** - Better prompts and model integration
- π± **Mobile Optimization** - Enhanced mobile experience
- π **Internationalization** - Multi-language support
- π§ͺ **Testing** - Unit tests and integration tests
- π **Documentation** - Improved docs and tutorials
### π Code Guidelines
- Follow **Java Spring Boot** best practices
- Use **React functional components** with hooks
- Maintain **consistent formatting** with Prettier/ESLint
- Write **clear commit messages**
- Add **tests** for new features
## π Troubleshooting
<details>
<summary><b>π§ Common Issues & Solutions</b></summary>
### Ollama Connection Issues
```bash
# Check if Ollama is running
ollama list
# Restart Ollama service
ollama serve
# Pull model again if needed
ollama pull deepseek-r1:latest
Backend Issues
bash# Check Java version
java --version
# Clear Maven cache
./mvnw clean install
# Check application logs
./mvnw spring-boot:run --debug
Frontend Issues
bash# Clear node modules
rm -rf node_modules package-lock.json
npm install
# Check environment variables
echo $VITE_API_URL
# Build for production
npm run build
</details>
π Performance & Metrics
β‘ Performance Benchmarks
AI Response Time: ~3-5 seconds (local Ollama)
PDF Generation: ~1-2 seconds
Bundle Size: Frontend ~2MB gzipped
Memory Usage: Backend ~512MB, Frontend ~100MB
π Scalability
Concurrent Users: Supports 100+ simultaneous requests
AI Model: Can switch to cloud providers for scale
Database: Currently stateless (can add persistence)
π License
This project is licensed under the MIT License - see the LICENSE file for details.
π Acknowledgments
Spring AI Team - For excellent AI integration framework
Ollama Community - For local LLM hosting
DeepSeek - For the powerful R1 model
DaisyUI - For beautiful, accessible components
React Community - For amazing frontend tools