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.
| 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 |
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)
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)
git clone https://github.com/Mahi6384/ATSync.git
cd ATSync
npm installcp .env.example .env.local
# Edit .env.local with your real valuesMONGODB_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- Go to cloud.mongodb.com → Create free M0 cluster
- Create a DB user with read/write access
- Whitelist IP
0.0.0.0/0for development - Copy the connection string → paste as
MONGODB_URI
- Sign up at huggingface.co
- Go to Settings → Tokens → New token (Read role)
- Copy → paste as
HUGGINGFACE_API_KEY
The app has a built-in rule-based fallback — it works without the HF API key too.
npm run dev
# Open http://localhost:3000npx vercel --prodAdd these environment variables in Vercel Dashboard:
MONGODB_URI,JWT_SECRET,HUGGINGFACE_API_KEY,NODE_ENV=production
To create realistic commit history across August 2025:
Windows (PowerShell):
Set-ExecutionPolicy Bypass -Scope Process
.\scripts\create-git-history.ps1
git push -u origin mainMac/Linux (bash):
chmod +x scripts/create-git-history.sh
bash scripts/create-git-history.sh
git push -u origin mainThis creates 60 commits spread across Aug 1–31, 2025, following real developer workflow phases.
- Passwords hashed with bcrypt (12 rounds)
- JWT stored in HttpOnly cookies + localStorage
- Next.js Middleware protects all
/dashboard,/analyze,/reportroutes - Generic error messages prevent email enumeration
- Zod validates all API inputs server-side
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.
MIT — free to use and modify.