Resume Insights is a powerful, intelligent web application designed to help job seekers optimize their resumes for Applicant Tracking Systems (ATS). Built with Django, this platform provides comprehensive analysis of resumes and extracts crucial information to ensure your resume gets past automated screening systems.
- Smart Resume Scanning: Analyzes resumes against 10+ critical keywords including skills, education, certifications, experience, projects, awards, LinkedIn, languages, courses, and portfolio
- Intelligent Scoring System: Provides a compatibility score out of 80 points (8 points per keyword)
- Missing Keywords Detection: Identifies exactly which sections are missing from your resume
- Real-time Analysis: Instant feedback on your resume's ATS-friendliness
- Welcome Emails: Automatic email dispatch upon successful registration
- SMTP Integration: Seamless Gmail SMTP configuration for reliable email delivery
- Personalized Messages: Custom email content with user's name and registration details
- Professional Communication: Keeps users informed throughout their journey
- Email-Based Authentication: Modern authentication using email addresses instead of usernames
- Secure Password Management: Django's built-in password hashing and validation
- Custom User Model: Extended AbstractUser model with additional fields (birth_date)
- Session Management: Secure session handling for file uploads and user data
- Account Management: Users can delete their accounts with a single click
- PDF Support: Automatic PDF resume parsing using PyPDF2
- Text Extraction: Advanced text extraction from multi-page PDF documents
- Information Extraction:
- Email Detection: Automatically extracts email addresses from resume content
- Phone Number Parsing: Identifies and extracts phone numbers with country codes
- Secure File Storage: File uploads stored securely with proper permissions
- Session-Based Processing: Maintains upload state across analysis workflow
- Dedicated payment page for premium features
- Foundation for monetization strategies
- Scalable payment processing implementation
- Bootstrap 5.3+: Clean, professional, and mobile-responsive design
- Custom Styling: Beautiful background images and custom CSS
- Interactive JavaScript: Dynamic score animations and form validations
- User-Friendly Interface: Intuitive navigation and seamless user experience
- CSRF protection enabled
- Clickjacking protection
- Secure password validators
- Login required decorators for protected views
- Email uniqueness validation
- Python 3.8 or higher
- pip (Python package manager)
- Git
- Clone the repository
git clone https://github.com/Krishal-Modi/Resume_Insights.git
cd Resume_Insights- Create a virtual environment
python -m venv venv- Activate the virtual environment
Windows:
venv\Scripts\activatemacOS/Linux:
source venv/bin/activate- Install required dependencies
pip install django
pip install pypdf2- Configure Email Settings
Edit Resumeinsights/settings.py and update the email configuration:
EMAIL_HOST_USER = 'your-email@gmail.com'
EMAIL_HOST_PASSWORD = 'your-app-password' # Use App Password, not your Gmail passwordNote: For Gmail, you need to generate an App Password
- Apply database migrations
cd Resumeinsights
python manage.py makemigrations
python manage.py migrate- Create a superuser (optional)
python manage.py createsuperuser- Run the development server
python manage.py runserver- Access the application
Open your browser and navigate to: http://127.0.0.1:8000/
Resume_Insights/
βββ Resumeinsights/
β βββ manage.py
β βββ db.sqlite3
β βββ resumedetails/ # Main Django app
β β βββ models.py # Custom Admin user model
β β βββ views.py # All view logic & ATS analysis
β β βββ admin.py # Admin configuration
β β βββ static/
β β β βββ css/ # Stylesheets
β β β βββ js/ # JavaScript files
β β β βββ images/ # Static images
β β βββ templates/ # HTML templates
β β β βββ index.html # Landing page
β β β βββ register.html # User registration
β β β βββ login.html # User login
β β β βββ upload.html # Resume upload
β β β βββ ats.html # Analysis results
β β β βββ payment.html # Payment page
β β βββ migrations/ # Database migrations
β βββ Resumeinsights/ # Project settings
β βββ settings.py # Django settings
β βββ urls.py # URL routing
β βββ wsgi.py # WSGI config
βββ README.md
βββ LICENSE
- User Registration: New users sign up with email, username, password, and birth date
- Email Confirmation: Automatic welcome email sent via SMTP
- Login: Users authenticate using their email and password
- Resume Upload: Upload PDF resume through secure file upload
- ATS Analysis: System analyzes resume for key sections and keywords
- Results Display:
- ATS compatibility score (out of 80)
- List of missing keywords
- Extracted email address and phone number
- Recommendations: Suggestions to improve ATS compatibility
- Backend Framework: Django 5.1+
- Database: SQLite3 (easily replaceable with PostgreSQL/MySQL)
- PDF Processing: PyPDF2
- Email: Django Email Backend with SMTP
- Frontend: HTML5, CSS3, Bootstrap 5.3, JavaScript
- Authentication: Django's built-in auth system with custom user model
- Session Management: Django sessions
The system evaluates resumes based on 10 critical keywords:
- β Skills
- β Education
- β Certifications
- β Experience
- β Projects
- β Awards
- β LinkedIn
- β Languages
- β Courses
- β Portfolio
Scoring: Each keyword present = 10 points (Maximum: 80 points)
Solves a genuine problem faced by job seekers worldwide - getting past ATS filters
Advanced regex patterns to extract contact information automatically
Demonstrates professional email integration - crucial for any modern web application
Well-organized Django project structure following best practices
Easy to add more features like:
- Multiple file format support (DOCX, TXT)
- AI-powered recommendations
- Resume templates
- Job matching algorithms
- Analytics dashboard
Focuses on providing actionable insights, not just scores
- Email Validation: Prevents duplicate registrations
- Password Security: Uses Django's robust password validation
- CSRF Protection: All forms protected against cross-site request forgery
- Login Required: Protected routes accessible only to authenticated users
- File Upload Security: Proper file handling and permission management
- Add support for DOCX and TXT resume formats
- Implement AI-powered resume improvement suggestions
- Add resume template builder
- Create analytics dashboard for users
- Implement job matching algorithm
- Add LinkedIn profile import
- Multi-language support
- Export analysis results as PDF
- Resume version comparison
- Integration with job boards
Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.
- Fork the Project
- Create your 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.
Krishal Modi
- GitHub: @Krishal-Modi
- Email: krishalmodi2345@gmail.com
- Django Software Foundation for the amazing web framework
- Bootstrap team for the responsive CSS framework
- PyPDF2 contributors for PDF parsing capabilities
- The open-source community for continuous inspiration
For support, email krishalmodi2345@gmail.com or open an issue in the GitHub repository.
β If you find this project helpful, please consider giving it a star on GitHub!
Made with β€οΈ by Krishal Modi