AI-powered resume analysis and optimization platform
- AI-Powered Analysis: GPT-4 driven comprehensive resume feedback
- Job Readiness Score: 0-100 scoring with detailed breakdown
- Export Capabilities: PDF and text export of analysis results
- Progress Tracking: Visual charts showing improvement over time
- Guest & Registered Modes: Works without signup, enhanced with account
- Secure user registration and login
- Password reset functionality
- Guest mode for immediate analysis
- User dashboard with analytics
- Strengths Identification: What's working in your resume
- Improvement Areas: Specific weaknesses to address
- ATS Optimization: Tips for applicant tracking systems
- Trend Analysis: Track progress over multiple uploads
- PDF Export: Professional formatted analysis reports
- Progress Charts: Visual representation of improvement
- Usage Analytics: Track monthly and total analyses
- Subscription Ready: Built for tiered pricing (free/pro/premium)
- Frontend: Next.js 15 with App Router, TypeScript, Tailwind CSS
- Backend: Next.js API routes
- Database & Storage: Supabase
- AI: OpenAI GPT-4 for resume analysis
- File Processing: PDF, Word (.docx/.doc), and text file support
- UI Components: Lucide React icons, React Dropzone
- Node.js 18+
- npm or yarn
- OpenAI API key
- Supabase project (optional, for file storage)
- Copy the environment variables:
cp .env.example .env.local- Fill in your environment variables in
.env.local:
# OpenAI Configuration (Required)
OPENAI_API_KEY=your_openai_api_key
# Supabase Configuration (Optional)
NEXT_PUBLIC_SUPABASE_URL=your_supabase_project_url
NEXT_PUBLIC_SUPABASE_ANON_KEY=your_supabase_anon_key
SUPABASE_SERVICE_ROLE_KEY=your_supabase_service_role_key- Install dependencies:
npm install- Run the development server:
npm run dev- Open http://localhost:3000 in your browser.
- Upload Resume: Drag and drop or click to select a PDF, Word (.docx/.doc), or text file (max 10MB)
- Wait for Analysis: The AI will process your resume through multiple stages
- Review Feedback: Get comprehensive feedback including:
- Strengths and weaknesses
- Specific improvement suggestions
- ATS optimization tips
- Job-readiness score
- Improved bullet points
- Apply Changes: Implement the suggestions to improve your resume
- Re-analyze: Upload your updated resume to track improvements
src/
├── app/
│ ├── api/
│ │ └── analyze/
│ │ └── route.ts # Resume analysis API endpoint
│ ├── globals.css # Global styles
│ ├── layout.tsx # Root layout
│ └── page.tsx # Main application page
├── components/
│ ├── FeedbackPanel.tsx # Analysis results display
│ ├── Loading.tsx # Loading states component
│ └── ResumeUploader.tsx # File upload component
├── lib/
│ ├── openai.ts # OpenAI configuration
│ └── supabase.ts # Supabase configuration
├── types/
│ └── index.ts # TypeScript type definitions
└── utils/
├── fileUpload.ts # Supabase file upload utilities
├── generatePrompt.ts # OpenAI prompt generation
└── parsePDF.ts # PDF text extraction utilities
Analyzes an uploaded resume file and returns AI-powered feedback.
Request:
- Method: POST
- Content-Type: multipart/form-data
- Body: FormData with 'file' field containing PDF, Word (.docx/.doc), or text file
Response:
{
"success": true,
"analysis": {
"strengths": ["strength 1", "strength 2", "strength 3"],
"weaknesses": ["weakness 1", "weakness 2", "weakness 3"],
"suggestions": ["suggestion 1", "suggestion 2", "suggestion 3"],
"atsOptimization": ["tip 1", "tip 2", "tip 3"],
"jobReadinessScore": 85,
"improvedBulletPoints": ["improved point 1", "improved point 2"]
}
}- Push your code to GitHub
- Connect your repository to Vercel
- Add environment variables in Vercel dashboard
- Deploy
The application can be deployed to any platform that supports Next.js applications.
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if applicable
- Submit a pull request
MIT License - see LICENSE file for details.
For support, please open an issue on GitHub or contact the development team.