A powerful AI-driven platform that bridge the gap between your resume and your dream job. Upload your resume, paste a job description, and get instant skill-gap analysis, a personalized 30/60/90-day learning roadmap, and recruiter-style feedback.
- Skill Intelligence: Automated extraction of skills from your resume and comparison with JD requirements.
- Match Score: Precise calculation of how well your profile aligns with the role.
- Personalized Roadmap: Structured 30, 60, and 90-day learning plans including project ideas and resume highlights.
- Recruiter Feedback: Honest, AI-generated analysis of why your resume might be rejected and how to fix it.
- ATS Optimization: Direct suggestions on keywords and bullet point improvements.
- Framework: Next.js 16 (App Router)
- Styling: Vanilla CSS + TailwindCSS (for glassmorphism and layout)
- Animations: Framer Motion
- Icons: Lucide React
- Markdown Rendering: React Markdown
- Framework: FastAPI (Python)
- AI Engine: Google Gemini 2.5 Flash
- NLP: SpaCy & Sentence-Transformers
- PDF Parsing: pdfplumber
- Node.js (v18+)
- Python (3.9+)
- Google Gemini API Key
- Navigate to the backend directory:
cd backend - Create and activate a virtual environment:
python -m venv venv source venv/bin/activate # Windows: venv\Scripts\activate
- Install dependencies:
pip install -r requirements.txt
- Configure environment variables in
.env:GEMINI_API_KEY=your_api_key_here PORT=8000
- Run the server:
python app/main.py
- Navigate to the frontend directory:
cd frontend - Install dependencies:
npm install
- Run the development server:
npm run dev
- Open http://localhost:3000 in your browser.
This project is split into a Frontend (Next.js) and a Backend (FastAPI).
Since the backend is a Python FastAPI server, it needs a host that supports long-running processes.
- Service: Render or Railway are recommended.
- Build Command:
pip install -r requirements.txt && python -m spacy download en_core_web_sm && python -c "from sentence_transformers import SentenceTransformer; SentenceTransformer('all-MiniLM-L6-v2')" - Start Command:
PYTHONPATH=. uvicorn app.main:app --host 0.0.0.0 --port $PORT
If you prefer containerization:
- Build:
docker build -t resume-backend ./backend - Run:
docker run -p 8000:8000 -e GEMINI_API_KEY=your_key resume-backend - The Dockerfile is optimized to use the
$PORTenvironment variable assigned by your cloud provider. - Environment Variables:
GEMINI_API_KEY: Your Google AI API Key.PORT: Usually set automatically by the host.
The frontend is optimized for Netlify.
- Link your repository to Netlify.
- Build Settings:
- Base directory:
frontend - Build command:
npm run build - Publish directory:
frontend/.next
- Base directory:
- Environment Variables:
NEXT_PUBLIC_API_URL: The full URL of your deployed backend (e.g.,https://skillzsprint.onrender.com).
Protecting your API keys is critical. This project is configured with the following security measures:
- Environment Isolation: All sensitive keys (like
GEMINI_API_KEY) are stored in.envor.env.localfiles, which are explicitly ignored by Git. - Production Secrets: When deploying to Render or Netlify, never upload your
.envfiles. Instead, add your keys directly through the platform's dashboard:- Netlify: Site Settings > Environment Variables
- Render: Dashboard > Your Service > Environment
- Docker Security: The
.dockerignorefile ensures that local secrets are not bundled into your production container.
Caution
If you accidentally commit an API key to a public repository, rotate it immediately in the Google AI Dashboard.
© 2026 AI Resume Intelligence. All rights reserved.