Wand is an intelligent AI-powered career assistant that helps users analyze job postings, optimize their resumes, and generate tailored cover letters. It leverages advanced LLMs (Gemini 2.5 Pro & Flash) to provide deep insights and actionable feedback.
- Job Analysis: deeply analyzes job descriptions to extract requirements, skills, and expected salary.
- Resume Parsing: Extracts structured data from PDF resumes using AI.
- Gap Analysis: Compares your resume against job requirements to identify missing qualifications and keywords.
- Resume Optimization: Provides specific "Add", "Update", or "Delete" suggestions to tailor your resume.
- Cover Letter Generation: improved cover letters (Professional, Creative, Storytelling modes) tailored to the specific job.
- Application Tracking: Kanban-style board to track job applications.
The project is organized into three main components:
The user interface built with Next.js 14, TypeScript, and Tailwind CSS.
- Tech Stack: Next.js, React, Zustand (State Management), Framer Motion (Animations).
- Key Functionality: Job dashboard, interactive resume editor, analysis visualization, real-time updates via WebSockets.
The backend REST API built with FastAPI.
- Tech Stack: FastAPI, SQLAlchemy (SQLite), Pydantic.
- Key Functionality: Data persistence, request orchestration, file handling, and communication with the Engine.
- Workers: Uses Celery (with Redis) for background processing of long-running analysis tasks.
The intelligence core of the application.
- Tech Stack: Python, Inspector (Structured Output), PyMuPDF.
- AI Models:
- Gemini 2.5 Pro: Used for complex reasoning (Qualification Validation, Cover Letter Writing).
- Gemini 2.5 Flash: Used for high-speed tasks (Parsing, Formatting Checks, Keyword Matching).
- Modules:
job/parser: Extracts structured job data.analysis/qualification_check: validatates resume claims against requirements.analysis/formatting_check: Reviews resume formatting and chronology.cover_letter/generator: Generates personalized cover letters.
- Python 3.10+
- Node.js 18+
- Redis (for background tasks)
- Google Gemini API Key
- Navigate to root directory.
- Create virtual environment:
python -m venv .venv source .venv/bin/activate - Install dependencies:
pip install -r requirements.txt
- Set environment variables in
.env:GEMINI_API_KEY=your_key_here REDIS_URL=redis://localhost:6379/0
- Start the server:
uvicorn api.main:app --reload
- Navigate to frontend:
cd frontend - Install dependencies:
npm install
- Start dev server:
npm run dev
The system uses a hybrid model approach for optimal performance:
- Gemini 2.5 Pro: used for logic-heavy tasks requiring "reasoning" capabilities.
- Gemini 2.5 Flash: Used for speed-critical extraction and matching tasks.
MIT