Skip to content

AI-powered CV Analyzer SaaS built with Next.js, Django REST, Celery, Redis, and PostgreSQL.

Notifications You must be signed in to change notification settings

shamshodbekdevops/CV_analyzer

Repository files navigation

CV Analyzer SaaS (MVP)

Tech stack:

  • Next.js (frontend)
  • Django REST Framework (backend)
  • PostgreSQL
  • Redis
  • Celery
  • Gemini API wrapper

What This Project Does

CV Analyzer is a SaaS-style platform that helps users improve their resumes with AI-powered feedback. Users can upload a CV, get ATS-style analysis, rewrite suggestions, and keyword gap detection, then save and share improved versions.

Core Product Flows

  • Analyze-only flow: Upload CV -> async analysis job -> polling result (not permanently stored by default).
  • Save flow: User explicitly saves the analyzed CV to PostgreSQL with version history.
  • Share flow: User generates a view-only share token and sends a public link.

Key Capabilities

  • Analyze source choice: CV file or GitHub profile/repository URL.
  • AI output includes ATS score, strengths, weaknesses, missing keywords, rewritten summary, improved bullets, and next actions.
  • Premium dashboard UI with dark/light mode.
  • Resume builder with structured fields and one-click PDF export.

Product Roadmap

Phase 1 (Now)

  • CV/GitHub source analysis with async processing.
  • Resume save/share and one-click PDF export.
  • Premium dashboard with dark/light mode.

Phase 2 (Next)

  • Multiple PDF templates and style presets.
  • Better CV parser for PDF/DOCX structured extraction.
  • Usage analytics panel for users.

Phase 3 (Scale)

  • Stripe billing + plan upgrades.
  • Team workspace and shared resume libraries.
  • Queue prioritization and AI usage cost controls.

How To Present This In Your CV

  • Built an AI-powered CV optimization SaaS using Next.js, Django REST Framework, PostgreSQL, Redis, and Celery.
  • Designed asynchronous processing for resume analysis to avoid API timeouts and improve responsiveness.
  • Implemented secure auth, resume CRUD/versioning, share links, and environment-based secret management.
  • Containerized full stack with Docker and documented reproducible local setup for team onboarding.

Security note

  • Keep all secrets in local .env only.
  • .env is ignored by git and must not be pushed to GitHub.

Contributing

  • See CONTRIBUTING.md for branch, commit, and PR standards.

Live URLs

  • Backend admin: https://backend-web-production-f301.up.railway.app/admin/auth/user/
  • Frontend: https://shamshods-cv-analyzer.up.railway.app/

Docker Run Guide (Windows CMD)

  1. Open Docker Desktop first (wait until engine is running).

  2. Open cmd and move to project folder:

cd /d D:\SaaS\CV_analyzer
  1. Verify Docker engine:
docker version
docker context use desktop-linux
  1. Create .env from template (first time only):
copy .env.example .env
  1. Fill required values in .env:
  • DJANGO_SECRET_KEY
  • POSTGRES_DB, POSTGRES_USER, POSTGRES_PASSWORD
  • DATABASE_URL
  • GEMINI_API_KEY
  1. Build and start all services:
docker compose up -d --build
  1. Run migrations:
docker compose exec web python manage.py migrate
  1. Check status:
docker compose ps
  1. Open:
  • Frontend: http://localhost:3000
  • API health: http://localhost:8000/api/health
  • Backend admin: http://localhost:8000/admin
  1. Stop when needed:
docker compose down

API

  • GET /api/health
  • POST /api/auth/register
  • POST /api/auth/login
  • POST /api/auth/refresh
  • POST /api/analyze
  • GET /api/analyze/{job_id}
  • POST /api/resumes
  • GET /api/resumes
  • GET /api/resumes/{id}
  • PATCH /api/resumes/{id}
  • DELETE /api/resumes/{id}
  • POST /api/resumes/{id}/share
  • GET /api/resumes/{id}/export
  • GET /api/admin/metrics

About

AI-powered CV Analyzer SaaS built with Next.js, Django REST, Celery, Redis, and PostgreSQL.

Topics

Resources

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published