A modern web application that uses AI to extract structured data from unstructured resumes with high accuracy. Built with Next.js, TypeScript, and Google's Gemini AI.
- Intelligent extraction of skills, work experience, and education details
- Standardized data formatting and validation
- Clean and modern user interface
- Real-time processing with error handling
- Responsive design for all devices
- AI-Powered Extraction: Uses Gemini AI to intelligently parse resume content
- Structured Validation: Implements Zod schemas to ensure data consistency
- Standardized Formatting: Normalizes dates, degree names, and skill levels
- Error Handling: Gracefully handles edge cases and invalid inputs
-
Date Formats:
- Standardizes various date formats (e.g., "Jan 2020", "01/2020", "January 2020")
- Handles relative dates (e.g., "Present", "Current")
- Validates date ranges for consistency
-
Degree Names:
- Standardizes common variations (e.g., "BSc" → "Bachelor of Science")
- Handles international degree formats
- Validates degree names against known patterns
-
Skill Levels:
- Standardizes proficiency levels (Beginner, Intermediate, Advanced, Expert)
- Infers levels from context when not explicitly stated
- Handles various skill level descriptions
-
Content Validation:
- Minimum content length check
- Keyword-based resume validation
- Pattern matching for invalid content
- Structure validation for extracted data
-
AI Model Selection:
- Chose Gemini AI for its strong natural language understanding
- Tradeoff: Requires API key and has usage costs
- Alternative: Could use local models for privacy but with lower accuracy
-
Data Encoding:
- Using base64 encoding for URL-safe data transfer
- Tradeoff: Slightly larger URL size
- Alternative: Could use local storage but less shareable
-
Validation Strategy:
- Using Zod for runtime type checking
- Tradeoff: Additional bundle size
- Alternative: Manual validation but less maintainable
-
UI Framework:
- Using Next.js with Tailwind CSS
- Tradeoff: Larger initial bundle
- Alternative: Could use lighter framework but less developer experience
- Node.js 18+ and npm
- Google Gemini API key
- Clone the repository:
git clone <repository-url>
cd resume-analyzer
- Install dependencies:
npm install
- Create a
.env
file in the root directory and add your Gemini API key:
GEMINI_API_KEY=your_api_key_here
- Start the development server:
npm run dev
- Open http://localhost:3000 in your browser.
- Paste your resume content into the text area
- Click "Parse Resume"
- View the extracted information in a structured format
- The parsed data includes:
- Skills with proficiency levels
- Work experience with company details
- Education history with standardized degree names