An AI-powered staffing solution that automates resume parsing, candidate matching, and email communication for recruitment agencies.
- AI Resume Parsing: Extract and structure resume data using advanced NLP
- Smart Job Matching: Match candidates to job requirements with AI scoring
- Automated Email Communication: Generate and send personalized recruitment emails
- Interactive Chat Interface: Chat with AI about candidates and job requirements
- Real-time Dashboard: View matched candidates and manage recruitment pipeline
- Professional Email Templates: Automated reach-out emails with company branding
- Next.js 15 with TypeScript
- React 19 with Redux Toolkit for state management
- Tailwind CSS for modern UI styling
- React Markdown for rich text rendering
- FastAPI with Python 3.12
- LangChain for AI orchestration
- Azure OpenAI for intelligent processing
- SMTP integration for email delivery
- PDF processing for resume parsing
- Node.js 18+ and npm
- Python 3.11+
- Azure OpenAI account and API keys
- Gmail account with App Password (for email sending)
Create a .env file in the backend directory with the following variables:
# Azure OpenAI Configuration
AZURE_OPENAI_ENDPOINT=your_azure_openai_endpoint
AZURE_OPENAI_API_KEY=your_azure_openai_api_key
AZURE_API_VERSION=2024-02-15-preview
# Email Configuration (Gmail)
SMTP_SERVER=smtp.gmail.com
SMTP_PORT=587
SENDER_EMAIL=your_gmail_address@gmail.com
SENDER_PASSWORD=your_gmail_app_password
# Optional: Google API (currently commented out)
# GOOGLE_API_KEY=your_google_api_key- Enable 2-factor authentication on your Gmail account
- Go to Google Account Settings
- Navigate to "2-Step Verification" β "App passwords"
- Generate a new app password for "Mail"
- Use this 16-character password as
SENDER_PASSWORD
- Create an Azure OpenAI resource in Azure Portal
- Deploy a GPT-4 model (recommended:
gpt-4orgpt-4-turbo) - Get your endpoint URL and API key from the Azure portal
- Note your deployment name and API version
git clone https://github.com/Uknowme-h/StaffPilot.git
cd StaffPilotcd backend
pip install -r requirements.txtCreate .env file with your API keys (see above section).
cd frontend
npm installcd backend
python main.pyBackend will run on http://localhost:8000
cd frontend
npm run devFrontend will run on http://localhost:3000
- Navigate to the Chat section
- Upload PDF resumes or ask questions about candidates
- The AI will parse resumes and extract key information
- Switch to the Jobs tab
- Create job descriptions with requirements
- View AI-matched candidates with compatibility scores
- Send personalized reach-out emails to candidates
- Use the "Send Reach Out Email" button for matched candidates
- AI generates personalized emails based on job requirements
- Track sent emails in the system logs
- Automated Screening: Reduce manual resume review time by 80%
- Smart Matching: AI-powered candidate-job compatibility scoring
- Personalized Outreach: Generate tailored emails for each candidate
- Centralized Dashboard: Manage entire recruitment pipeline in one place
- Professional Branding: Consistent company branding in all communications
- Resume parsing and data extraction
- Job requirement analysis
- Candidate-job matching algorithms
- Natural language chat interface
- Automated email generation
StaffPilot/
βββ backend/
β βββ main.py # FastAPI application entry point
β βββ requirements.txt # Python dependencies
β βββ routes/
β β βββ resume.py # Resume parsing and email routes
β β βββ jobs.py # Job management routes
β βββ utils/
β β βββ extract_text.py # PDF text extraction
β β βββ email_service.py # SMTP email service
β βββ chains/
β βββ parse_resume.py # LangChain resume parsing logic
βββ frontend/
β βββ package.json # Node.js dependencies
β βββ src/app/
β β βββ page.tsx # Main application page
β β βββ components/ # React components
β βββ features/
β βββ resumeparserSlice.js # Redux state management
βββ README.md
GET /- Health checkPOST /api/resume/upload- Upload and parse resumePOST /api/resume/chat- Chat with AI about resumesPOST /api/resume/send-reach-out-email- Send recruitment emailsPOST /api/jobs/create- Create job descriptionsPOST /api/jobs/match-candidates- Match candidates to jobs
- Email sending fails: Check Gmail App Password and SMTP settings
- Azure OpenAI errors: Verify API keys and model deployment
- PDF parsing issues: Ensure uploaded files are valid PDFs
- CORS errors: Check backend URL configuration in frontend
Make sure all required environment variables are set in the .env file.
- Fork the repository
- Create a feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
For support and questions:
- Create an issue on GitHub
- Contact: nishantjais541@gmail.com
StaffPilot - Revolutionizing recruitment with AI-powered automation π