Transform your career with AI-powered resume analysis and job matching
HireMe.AI helps job seekers optimize their resumes and find perfect career matches using AI-powered analysis. Whether you're a student, career changer, or experienced professional, our platform provides actionable insights to boost your hiring success.
- Upload Your Resume - Simply drag and drop your resume file
- Get AI Analysis - Receive comprehensive feedback on strengths and weaknesses
- Find Jobs - Get personalized job recommendations based on your profile
- Apply Smarter - Use insights to tailor your applications
- Email/Password Registration - Traditional sign-up with secure password hashing
- Google OAuth Integration - One-click authentication with Google accounts
- Secure Session Management - JWT-based authentication with NextAuth.js
- User Profile Management - Personalized experience with user data
- OpenAI Integration - Advanced resume analysis using OpenAI API
- Comprehensive Scoring - Overall resume quality assessment (0-100)
- ATS Optimization - Applicant Tracking System compatibility scoring
- Skills Extraction - Automatic identification of technical and soft skills
- Strengths & Weaknesses - Identify what makes your resume stand out
- Actionable Recommendations - Specific suggestions for improvement
- Job Matching - AI-recommended job opportunities with match scores
- Career Guidance - Long-term development recommendations
- Responsive Design - Works perfectly on desktop, tablet, and mobile
- Beautiful Gradients - Professional color schemes and animations
- Drag & Drop Upload - Easy resume file upload with progress indicators
- Interactive Components - Smooth animations and real-time feedback
- Next.js 14 - Latest React framework with App Router
- TypeScript - Full type safety throughout the application
- Tailwind CSS - Utility-first styling with custom components
- shadcn/ui - Accessible, customizable component library
- Node.js 18+
- npm or yarn
- OpenAI API Key (Get one here)
- Google OAuth Credentials (Optional - for Google sign-in)
-
Clone the repository
git clone https://github.com/Alfredbis29/HireMe.AI.git cd HireMe.AI -
Install dependencies
npm install
-
Set up environment variables Create
.env.localfile and add the following:# OpenAI API Key (Required) OPENAI_API_KEY=your_openai_api_key_here NEXT_PUBLIC_APP_URL=http://localhost:3000 # NextAuth Configuration (Required) NEXTAUTH_URL=http://localhost:3000 NEXTAUTH_SECRET=your_nextauth_secret_here # Google OAuth (Optional - for Google sign-in) GOOGLE_CLIENT_ID=your_google_client_id_here GOOGLE_CLIENT_SECRET=your_google_client_secret_here
Generate NextAuth Secret:
openssl rand -base64 32
-
Start the development server
npm run dev
-
Open your browser Navigate to http://localhost:3000
- Beautiful landing page with feature showcase
- Call-to-action buttons for account creation
- Professional gradient design
- Responsive layout for all devices
- Sign Up (
/signup) - Email/password registration and Google OAuth - Login (
/login) - Email/password login and Google OAuth - Secure password hashing with bcryptjs
- Form validation and error handling
- Authentication Required - Must be logged in to access
- Drag-and-drop file upload interface
- Support for PDF, DOC, and DOCX files
- Real-time upload progress
- File validation and error handling
- Authentication Required - Must be logged in to access
- Comprehensive AI analysis results
- Interactive score visualization
- Job matching recommendations
- Personalized user experience
POST /api/auth/register- User registration with email/passwordPOST /api/auth/login- User login with credentialsPOST /api/auth/[...nextauth]- NextAuth.js authentication
POST /api/upload-resume- File upload and analysisGET /api/health- Health check endpoint
// Register a new user
const response = await fetch('/api/auth/register', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
name: 'John Doe',
email: 'john@example.com',
password: 'securepassword'
})
});
// Upload resume for analysis
const formData = new FormData();
formData.append('file', resumeFile);
const analysis = await fetch('/api/upload-resume', {
method: 'POST',
body: formData
});# Development
npm run dev # Start development server
npm run build # Build for production
npm run start # Start production server
npm run lint # Run ESLint
# Setup
./setup.sh # Automated setup scripthireme-ai/
├── app/ # Next.js 14 App Router
│ ├── api/ # API routes
│ │ ├── auth/ # Authentication endpoints
│ │ ├── upload-resume/ # File upload and analysis
│ │ └── health/ # Health check
│ ├── signup/ # Registration page
│ ├── login/ # Login page
│ ├── upload/ # Upload page (protected)
│ ├── results/ # Results page (protected)
│ └── globals.css # Global styles
├── components/ # Reusable components
│ ├── ui/ # shadcn/ui components
│ ├── providers/ # Context providers
│ └── UserProfile.tsx # User profile component
├── lib/ # Utility functions
│ └── db.ts # User database functions
├── types/ # TypeScript interfaces
└── data/ # User data storage (gitignored)
- Framework: Next.js 14 with App Router
- Language: TypeScript 5.0
- Styling: Tailwind CSS 3.3
- Components: shadcn/ui
- Authentication: NextAuth.js with JWT
- Password Hashing: bcryptjs
- AI: OpenAI API
- HTTP Client: Axios
- Forms: React Hook Form
- File Upload: React Dropzone
- Connect your GitHub repository
- Add environment variables in Vercel dashboard
- Deploy automatically on push
- Connect repository
- Build command:
npm run build - Publish directory:
.next
- Connect GitHub repository
- Add environment variables
- Deploy with one click
FROM node:18-alpine
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
RUN npm run build
EXPOSE 3000
CMD ["npm", "start"]- Email/Password: Traditional authentication with secure password hashing
- Google OAuth: One-click authentication with Google accounts
- Session Management: JWT-based sessions with NextAuth.js
- Password Security: bcryptjs hashing with salt rounds
- New Users: Visit home → Sign up → Create account → Access features
- Returning Users: Visit home → Sign in → Access features
- Protected Routes: Upload and results pages require authentication
- Password Hashing: Secure bcryptjs implementation
- Input Validation: Email format and required field validation
- Error Handling: User-friendly error messages
- Session Security: Proper token management
We welcome contributions! Please see our Contributing Guide for details.
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if applicable
- Submit a pull request
This project is licensed under the MIT License - see the LICENSE file for details.
- Documentation: See sections above for setup and usage
- Issues: GitHub Issues
- Authentication Setup: See Google OAuth Setup Guide
- Authentication Flow: See Authentication Flow Guide
- OpenAI for providing the AI API
- NextAuth.js for the authentication framework
- Vercel for the amazing Next.js framework
- Tailwind CSS for the utility-first CSS framework
- shadcn/ui for the beautiful component library
Made with ❤️ by the Alpha Team
- Branch: test branch for feature testing