HireSmart is a modern resume builder that helps users create professional resumes using advanced AI technology and customizable templates.
- AI-Powered Resume Generation: Convert existing CVs/Resumes into professional formats using Google's Gemini AI
- Multiple Resume Templates: Choose from various professional templates (Modern, Classic, Creative, Minimal)
- Real-time Preview: See how your resume looks before downloading
- PDF Generation: Download resumes as high-quality PDF files
- ATS Analysis: Get a Detailed Analysis from Ai and Suggestions for optimizations
- User Authentication: Secure user management system
- Modern Professional: Clean layout perfect for tech jobs
- Minimal Clean: Simple, whitespace-focused professional layout
- Ethos Dark: Dark-themed sections with bold typography
- Bootstrap Two-Column: Two-column layout with sidebar and main content
- Next.js 14: React framework with App Router
- TypeScript: Type-safe development
- Tailwind CSS: Utility-first CSS framework
- Shadcn/ui: Modern component library
- Lucide React: Beautiful icons
- Next.js API Routes: Server-side API endpoints
- MongoDB: Database for user cv, resume and available templates
- Google Gemini AI: AI-powered content generation
- Puppeteer: PDF generation from HTML
- SupaBase: For user autentication and logs
- ESLint: Code linting
- Prettier: Code formatting
- pnpm: Fast package manager
- Node.js 18+
- pnpm (recommended)
- MongoDB database
- Google Gemini API key
-
Clone the repository
git clone <repository-url> cd HireSmart cd hiresmart
-
Install dependencies
pnpm install
-
Environment Variables Create a
.env.localfile in the root directory:# Database MONGODB_URI=your_mongodb_connection_string # AI Services GEMINI_API_KEY=your_gemini_api_key # App Configuration NEXT_PUBLIC_BASE_URL=http://localhost:3000 NODE_ENV=development
-
Database Setup
- Ensure MongoDB is running
- The app will automatically create collections on first run
-
Run the development server
pnpm dev
-
Build for production
pnpm build pnpm start
-
Upload Your CV
- Navigate to the dashboard
- Upload your existing CV/Resume (PDF format)
-
Choose a Template
- Browse through available templates
- Preview each template's design
- Select the one that best fits your industry
-
Generate Resume
- Enter your job title (optional)
- Click "Generate Resume"
- AI will optimize your content for the selected template
-
Download PDF
- Preview the generated resume
- Download as a professional PDF file
Upload CV
POST /api/upload-cv
Content-Type: multipart/form-dataGenerate Resume
POST /api/resume/generate
Content-Type: application/json
{
"templateId": "template_id",
"userId": "user_id",
"commands": "optional_customization"
}Get Templates
GET /api/templatesNEXT_PUBLIC_SUPABASE_URL= NEXT_PUBLIC_SUPABASE_ANON_KEY= // MongoDb username= password= MONGODB_URI= //Gemini GEMINI_API_KEY= NEXT_PUBLIC_GEMINI_ENABLED=true GEMINI_API_URL= NEXT_PUBLIC_BASE_URL=http://localhost:3000
- users: User account information
- templates: Resume template data
- resumes: Generated resume data
- cvs: Uploaded CV files
- Create template HTML in
src/app/api/templates/route.ts - Add template metadata (name, category, description)
- Include CSS styling within the template
The app uses Tailwind CSS for styling. Custom styles can be added in:
src/app/globals.cssfor global styles- Component-specific styles using Tailwind classes
PDF Generation Fails
- Ensure Puppeteer dependencies are installed
- Check if the HTML content is valid
- Verify the template structure
AI Generation Errors
- Verify your Gemini API key is correct
- Check API rate limits
- Ensure the PDF file is not corrupted
Database Connection Issues
- Verify MongoDB connection string
- Check if MongoDB service is running
- Ensure network connectivity
# Install dependencies
pnpm install
# Run development server
pnpm dev
# Build for production
pnpm build
# Start production server
pnpm start
# Run linting
pnpm lint
# Type checking
pnpm type-check- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
- Google Gemini AI for AI capabilities
- Next.js for the framework
- Tailwind CSS for styling
- Shadcn/ui for components