Skip to content

Repository files navigation

Analytiq | AI Resume Analyzer

Brutally honest AI resume analysis. ATS scores, job description matching, skill gaps, and a concrete action plan.

Built with Next.js 16, FastAPI, LangChain, Google Gemini 2.5 Flash, and Pydantic v2.


✨ Features

Feature Description
ATS Score Keyword match, formatting quality, length/density sub-scores
Overall Score Honest 0–100 rating with Pydantic-validated schema
Job Match Paste a JD to get a % match, matched skills, and skill gaps
Skill Gap Analysis Missing skills ranked by importance (high / medium / low)
Experience Level Junior → Mid-Level → Senior → Lead/Principal detection
Action Plan Numbered, prioritized improvement suggestions
Recommended Roles 5 curated job titles based on your profile
Full Error Handling PDF validation, LLM failures, Pydantic schema errors

🏗️ Architecture

analytiq/
├── app/
│   ├── page.tsx              ← Full UI (hero, upload, results dashboard)
│   ├── layout.tsx            ← Fonts, SEO metadata, viewport
│   ├── globals.css           ← Design system (tokens, animations, components)
│   └── api/analyze/route.ts ← Next.js API route → proxies to FastAPI
├── lib/
│   └── types.ts              ← TypeScript interfaces matching Pydantic schemas
└── backend/
    ├── main.py               ← FastAPI + Pydantic schemas + LangChain chain
    ├── requirements.txt
    ├── Procfile              ← Railway/Render deploy
    └── runtime.txt           ← Python 3.12

🚀 Local Development

Backend (FastAPI)

cd backend
python -m venv venv && source venv/bin/activate   # Windows: venv\Scripts\activate
pip install -r requirements.txt
cp .env.example .env       # Add your GOOGLE_API_KEY
uvicorn main:app --reload  # → http://localhost:8000

Frontend (Next.js)

# In root directory
cp .env.example .env.local   # BACKEND_URL=http://localhost:8000
npm install
npm run dev                  # → http://localhost:3000

☁️ Deployment

Backend → Railway

  1. New project → Deploy from GitHub
  2. Set root directory to backend/
  3. Add env var: GOOGLE_API_KEY=<your_key>
  4. Copy the generated URL, e.g. https://analytiq-backend.railway.app

Frontend → Vercel

  1. Import repo at vercel.com/new
  2. Add env var: BACKEND_URL=https://analytiq-backend.railway.app
  3. Click Deploy → done ✅

🔑 Gemini API Key

  1. Visit Google AI Studio
  2. Click Create API key
  3. Set as GOOGLE_API_KEY in the backend environment

🎨 Design System

Token Value
Primary #000000 (Black)
Accent #ff0000 (Red)
Highlight #ffe100 (Yellow)
Surface #fafafa / #f5f5f3
Fonts Ysabeau Infant (display) · Ysabeau (body)
Icons React Icons FA6

📦 Tech Stack

Layer Tech
Frontend Next.js 16, React 19, TypeScript, Tailwind CSS v4
Backend Python 3.12, FastAPI, Uvicorn
AI Google Gemini 2.5 Flash via LangChain
Validation Pydantic v2 (backend) + TypeScript types (frontend)
PDF PyPDF
Icons React Icons FA6
Fonts Ysabeau Infant + Ysabeau (Google Fonts)
Deploy Vercel + Railway

Created by Swayam

About

AI-powered resume analyzer - upload a PDF, paste a job description, and get ATS scores, skill gap analysis, experience level detection, and a concrete action plan, all powered by Google Gemini via LangChain.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages