Skip to content

Smart ATS API is a powerful backend service designed to evaluate resumes against job descriptions using Google's Generative AI. The API simulates an ATS and provides comprehensive insights into how well a resume aligns with a job description by analyzing keywords, content relevance, and generating tailored improvement recommendations.

License

Notifications You must be signed in to change notification settings

austinLorenzMccoy/Smart_ATS_LLM_app

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

24 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸš€ AI Career Copilot

Python FastAPI Next.js PNPM Google Generative AI License

AI Career Copilot Logo

Full-stack platform for AI-driven resume intelligence, career coaching, and job-market insights

AI Career Copilot combines a FastAPI backend with a Next.js frontend to deliver resume rewriting, skill-gap analysis, role-fit scoring, career coaching, job alerts, and progress tracking powered by Google Gemini. The project now supports a multi-step analyzer wizard, persistent dashboards, and commercial licensing.


πŸ“¦ Monorepo Structure

.
β”œβ”€β”€ backend/
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ api/api.py            # FastAPI application with 20+ endpoints
β”‚   β”‚   β”œβ”€β”€ models/gemini.py      # Gemini model wrappers
β”‚   β”‚   └── utils/prompts.py      # Prompt builders for all features
β”‚   β”œβ”€β”€ requirements.txt
β”‚   └── tests/
β”‚       β”œβ”€β”€ test_api.py
β”‚       β”œβ”€β”€ test_prompts.py
β”‚       └── ...
β”œβ”€β”€ frontend/
β”‚   └── smart-ats-ui/
β”‚       β”œβ”€β”€ app/
β”‚       β”‚   β”œβ”€β”€ dashboard/
β”‚       β”‚   β”‚   β”œβ”€β”€ page.tsx          # Dashboard home
β”‚       β”‚   β”‚   β”œβ”€β”€ analyzer/page.tsx # 5-step wizard (new)
β”‚       β”‚   β”‚   β”œβ”€β”€ analyze/page.tsx  # Legacy single-page analyzer
β”‚       β”‚   β”‚   β”œβ”€β”€ coach/page.tsx    # Career coach chat
β”‚       β”‚   β”‚   └── jobs/page.tsx     # Job alerts & tracker
β”‚       β”‚   └── page.tsx              # Landing page
β”‚       β”œβ”€β”€ components/
β”‚       β”‚   β”œβ”€β”€ analyzer/
β”‚       β”‚   β”œβ”€β”€ dashboard/
β”‚       β”‚   β”œβ”€β”€ jobs/
β”‚       β”‚   └── visualizations/
β”‚       β”œβ”€β”€ store/useCareerCopilotStore.ts  # Zustand persistence
β”‚       β”œβ”€β”€ package.json
β”‚       └── pnpm-lock.yaml
β”œβ”€β”€ LICENSE-commercial
β”œβ”€β”€ README.md (this file)
└── .gitignore

✨ Feature Overview

Backend API (FastAPI)

  • 20+ endpoints covering resume intelligence, coaching, job insights, analytics, and progress tracking
  • Google Gemini integration with structured prompt outputs
  • PDF parsing, ATS simulation, orchestration planning, knowledge graph prompts, and more
  • Test suite with pytest + httpx

Frontend App (Next.js + shadcn/ui)

  • Analyzer Wizard: 5-step guided flow with resume upload, job description, module selection, progress, and results
  • Results Dashboard: Tabbed interface with Recharts visualizations (skill heatmap, keyword cloud, radar)
  • Career Coach: Persistent chat with suggested prompts and resume context
  • Job Search Hub: AI job alerts, application tracker, saved searches
  • Dashboard Home: Quick actions, live stats, recent activity, progress tracker
  • Zustand store for cross-page persistence (analysis history, job data, coach conversation)

πŸ” Licensing

  • The project ships with a commercial license (LICENSE-commercial).
  • Contact the maintainers to obtain rights for redistribution or resale.
  • Open-source dependencies retain their respective licenses.

βš™οΈ Environment Setup

Backend (FastAPI)

cd backend
python3 -m venv venv
source venv/bin/activate        # Windows: venv\Scripts\activate
pip install -r requirements.txt

# Configure environment
cp .env.example .env            # create if needed
echo "GOOGLE_API_KEY=your_key" >> .env

# Run API
uvicorn src.api.api:app --reload

The API serves Swagger docs at http://localhost:8000/docs and ReDoc at /redoc.

Frontend (Next.js)

cd frontend/smart-ats-ui
pnpm install

# Set API base URL
echo "NEXT_PUBLIC_API_BASE_URL=http://localhost:8000" >> .env.local

# Start dev server
pnpm dev

Visit http://localhost:3000 for the landing page and /dashboard for the app.


πŸ“Š Analyzer Wizard Flow

  1. Upload – PDF drag/drop and/or paste resume text
  2. Job Description – paste full JD (min length validation)
  3. Pick Analyses – select modules or use quick picks
  4. Processing – live progress bar and status updates
  5. Results – tabbed insights, overall score badge, before/after comparison, visualizations

Results persist to the dashboard via the Zustand store (useCareerCopilotStore).


πŸ“ˆ Dashboard Metrics & Persistence

frontend/smart-ats-ui/store/useCareerCopilotStore.ts stores:

  • Aggregate stats (total analyses, average match, skills improved)
  • Recent analyses (for dashboard activity feed)
  • Job applications + saved searches (for job tracker)
  • Career coach conversation history

State persists in localStorage so browser refreshes keep context.


πŸ§ͺ Testing

Backend

cd backend
source venv/bin/activate
python -m pytest

Frontend

Add React Testing Library / Playwright suites as needed. Current focus is on end-to-end flows once backend endpoints are stable.


♻️ Git Workflow & Ignore Rules

.gitignore has been updated to exclude:

  • Python venvs (venv/, .venv/, etc.)
  • Next.js build artifacts (.next/, node_modules/)
  • Environment files (backend/.env, frontend/.env.local)
  • Logs, coverage reports, temporary assets

Before committing:

git status

Ensure only relevant source changes are staged.


πŸš€ Deployment Notes

  • Backend can be containerized with Uvicorn/Gunicorn for cloud deployment (AWS, GCP, Azure).
  • Frontend supports Next.js static export or server rendering. Configure NEXT_PUBLIC_API_BASE_URL accordingly.
  • Add CI/CD pipelines to run backend tests and lint frontend before deploys.

πŸ“„ Legal

  • Commercial usage governed by LICENSE-commercial.
  • Evaluate third-party API terms (Google Gemini) before production use.
  • Do not commit API keys or customer data.

🀝 Contributing

  1. Fork the repository
  2. Create your feature branch: git checkout -b feature/awesome
  3. Commit changes with context-rich messages
  4. Run backend tests and lint frontend
  5. Open a pull request detailing changes and testing steps

πŸ“ž Support

For licensing, enterprise support, or feature requests, contact the maintainers with project context and timelines.


Enjoy building with AI Career Copilot! 🌟

About

Smart ATS API is a powerful backend service designed to evaluate resumes against job descriptions using Google's Generative AI. The API simulates an ATS and provides comprehensive insights into how well a resume aligns with a job description by analyzing keywords, content relevance, and generating tailored improvement recommendations.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published