Skip to content

Repository files navigation

⚡ ATSync — AI Resume Analyzer

Boost your ATS score. Land more interviews. Powered by Mistral AI.

ATSync is a production-quality, full-stack AI Resume Analyzer built with Next.js 15, TypeScript, MongoDB Atlas, and the Hugging Face Inference API. Upload your resume, paste a job description, and get instant ATS analysis with scores, keyword gaps, AI suggestions, and more.


✨ Features

Feature Description
🎯 ATS Score 0–100 ATS compatibility score with visual gauge
🔑 Keyword Gap Analysis Missing keywords highlighted with color-coded badges
💡 AI Suggestions 5–7 actionable resume improvement tips
🧠 Skills Extraction Technical and soft skills automatically detected
✍️ AI Summary Generator Improved professional summary tailored to the job
📊 Score History Track progress over time with Recharts analytics
🔐 JWT Auth Secure login/signup with bcrypt-hashed passwords
🌙 Dark Mode Full dark/light mode support
📄 PDF Export Print-to-PDF for any analysis report
📱 Responsive Mobile-first design across all screens

🛠 Tech Stack

Frontend: Next.js 15, TypeScript, Tailwind CSS v4, shadcn/ui, Framer Motion, Recharts, React Hook Form + Zod, react-dropzone

Backend: Next.js API Routes, MongoDB Atlas + Mongoose, bcryptjs, jsonwebtoken, pdf-parse

AI: Hugging Face Inference API, Mistral-7B-Instruct-v0.2 (primary), google/flan-t5-large (fallback)


📁 Project Structure

ATSync/
├── src/
│   ├── app/
│   │   ├── (auth)/           # Login, Signup pages + layout
│   │   ├── (app)/            # Protected: dashboard, analyze, report/[id]
│   │   └── api/              # auth, upload, analysis, dashboard/stats
│   ├── components/
│   │   ├── dashboard/        # StatsCard, ScoreChart, RecentAnalyses
│   │   ├── layout/           # Navbar, Footer
│   │   ├── providers/        # ThemeProvider
│   │   └── resume/           # FileUpload, ScoreGauge, KeywordBadges, AnalysisResult
│   ├── contexts/             # AuthContext
│   ├── hooks/                # useAuth, useAnalysis
│   ├── lib/                  # auth, huggingface, mongodb, pdf-parser, validations
│   ├── models/               # User, Analysis (Mongoose schemas)
│   ├── middleware.ts          # JWT route protection
│   └── types/                # Global TypeScript types
└── scripts/                  # Git history generator (sh + ps1)

🚀 Quick Start

1. Clone & Install

git clone https://github.com/Mahi6384/ATSync.git
cd ATSync
npm install

2. Configure Environment

cp .env.example .env.local
# Edit .env.local with your real values
MONGODB_URI=mongodb+srv://user:pass@cluster.mongodb.net/atsync
JWT_SECRET=your-super-secret-32-char-key-here
HUGGINGFACE_API_KEY=hf_xxxxxxxxxxxxxxxxxxxxxxxxxx
NODE_ENV=development

3. Set Up MongoDB Atlas (Free)

  1. Go to cloud.mongodb.com → Create free M0 cluster
  2. Create a DB user with read/write access
  3. Whitelist IP 0.0.0.0/0 for development
  4. Copy the connection string → paste as MONGODB_URI

4. Get Hugging Face API Key (Free)

  1. Sign up at huggingface.co
  2. Go to Settings → Tokens → New token (Read role)
  3. Copy → paste as HUGGINGFACE_API_KEY

The app has a built-in rule-based fallback — it works without the HF API key too.

5. Run

npm run dev
# Open http://localhost:3000

🌐 Deploy to Vercel

npx vercel --prod

Add these environment variables in Vercel Dashboard:

  • MONGODB_URI, JWT_SECRET, HUGGINGFACE_API_KEY, NODE_ENV=production

🔧 Git History Setup

To create realistic commit history across August 2025:

Windows (PowerShell):

Set-ExecutionPolicy Bypass -Scope Process
.\scripts\create-git-history.ps1
git push -u origin main

Mac/Linux (bash):

chmod +x scripts/create-git-history.sh
bash scripts/create-git-history.sh
git push -u origin main

This creates 60 commits spread across Aug 1–31, 2025, following real developer workflow phases.


🔒 Security

  • Passwords hashed with bcrypt (12 rounds)
  • JWT stored in HttpOnly cookies + localStorage
  • Next.js Middleware protects all /dashboard, /analyze, /report routes
  • Generic error messages prevent email enumeration
  • Zod validates all API inputs server-side

🧪 Test Credentials

Create an account or use:

  • Email: demo@atsync.dev · Password: Demo123!

Use the "Use Example JD" button on the Analyze page to auto-fill a sample job description.


📜 License

MIT — free to use and modify.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages