A modern platform to streamline job applications using AI technology.
- Smart Job Search: Search for jobs across multiple platforms based on job title and location
- AI-Powered Applications: Generate intelligent responses to application questions using Google Gemini 2.0
- Automatic Form Filling: Automatically detect, fill and submit job applications
- Resume Parsing: Extract structured data from resumes (PDF, DOCX, TXT)
- Application Tracking: Monitor the status of all your job applications
- Personalized Job Recommendations: Get tailored job recommendations based on your profile
- Role-based Access Control: Different permission levels for users, moderators and administrators
The project follows a modern architecture with:
- React Frontend: Dynamic and responsive user interface
- Flask Backend: RESTful API services and business logic
- Google Gemini AI Integration: For intelligent response generation
- SQLAlchemy ORM: Database interaction layer
- Playwright Integration: Browser automation for application processing
- React.js
- JavaScript/JSX
- CSS
- Flask (Python)
- SQLAlchemy ORM
- SQLite/PostgreSQL
- Google Generative AI (Gemini)
- Playwright (browser automation)
- spaCy (NLP for resume parsing)
- Python 3.8+ (3.11 recommended)
- Node.js 14+ and npm/yarn
- pip
- virtualenv (recommended)
- poppler (for PDF processing, install via homebrew on Mac)
-
Clone the repository
git clone <repository-url> cd InstantApply
-
Run the setup script to install backend dependencies
chmod +x setup_dev.sh ./setup_dev.sh
Or manually:
# Create and activate virtual environment python3.11 -m venv venv source venv/bin/activate # On Windows, use: venv\Scripts\activate # Install dependencies pip install -r backend/requirements.txt # Initialize database python init_db.py
-
Set up environment variables
# Create a .env file in the project root touch .env # Add the following variables FLASK_APP=backend/app.py FLASK_ENV=development GEMINI_API_KEY=your_gemini_api_key
-
Navigate to the React frontend directory
cd react-frontend -
Install dependencies
npm install # or yarn install -
Start the frontend development server
npm start # or yarn start
To serve the React frontend directly from the Flask backend on port 5000:
-
Build the React application
cd react-frontend npm run build # or yarn build
-
Copy the build files to the Flask static directory (from project root)
# On macOS/Linux cp -r react-frontend/build/* backend/static/ # On Windows xcopy react-frontend\build\* backend\static\ /E /Y
Alternatively, use the provided build script:
# From project root cd backend bash build_react.sh # This script builds the React app and places it in the correct location
-
Start the Flask server which will now serve both the API and frontend
flask run
-
Access the application at http://localhost:5000
-
Start the backend server (from project root with activated virtual environment)
flask run
-
In another terminal, start the frontend server
cd react-frontend npm start -
Access the application at http://localhost:3000
# Create migrations after model changes
flask db migrate -m "Description of changes"
# Apply migrations
flask db upgrade
# Rollback migrations
flask db downgrade- Visit Google AI Studio
- Create a new API key
- Add it to your .env file:
GEMINI_API_KEY=your_key_here
InstantApply/
βββ backend/ # Flask backend
β βββ app.py # Main Flask application
β βββ config.py # Configuration settings
β βββ requirements.txt # Python dependencies
β βββ models/ # Database models
β β βββ user.py
β β βββ application.py
β βββ routes/ # API routes
β β βββ api.py
β β βββ auth.py
β βββ utils/ # Utility modules
β βββ document_parser.py
β βββ gemini_caller.py
β βββ application_filler/
β βββ ...
βββ react-frontend/ # React frontend
β βββ package.json
β βββ public/
β βββ src/
β βββ components/
β βββ pages/
β βββ services/
βββ flask-frontend/ # Flask templates (legacy)
β βββ static/
β βββ templates/
βββ resources/ # Project resources
β βββ media/
βββ archive/ # Archived code
βββ README.md
If you're using Python 3.12, there are known compatibility issues with some packages:
# Install greenlet first with special flags
pip install --no-build-isolation greenlet==3.0.1
# Then install remaining requirements
pip install -r backend/requirements.txtIf encountering database errors:
# Remove and reinitialize the database
rm instance/instant_apply.db # On Windows: del instance\instant_apply.db
python init_db.pyContributions are welcome! Please check our Contribution Guidelines.
