This is a web application that helps job seekers generate personalized cold emails and cover letters using AI technology. The application uses Flask for the backend, Google Gemini API for content generation, and Tailwind CSS for frontend styling. It is further deployed on Render.
You can access it here: Jobique
- Upload job posting link: Allows users to input a job posting URL.
- Upload resume (PDF): Users can upload their resume in PDF format for tailored email and cover letter generation.
- Generate personalized cold email: Uses AI to craft a cold email based on the job description and resume.
- Generate tailored cover letter: Automatically generates a cover letter that matches the job posting and user's qualifications.
- User-friendly interface: Clean, modern UI built with Tailwind CSS.
- Backend: Flask (Python)
- Frontend: HTML, JavaScript, Tailwind CSS
- AI Generation: Google Gemini API
- PDF Parsing: PyPDF2
- Environment Management: Python Virtual Environment
- Frontend Build Tools: Node.js, npm, Tailwind CSS
Before you begin, ensure you have the following installed:
- Python (3.8+)
- Node.js (14+)
- pip (for Python package installation)
- npm (for frontend dependencies)
You can download Python from python.org and Node.js from nodejs.org.
git clone https://github.com/yourusername/cold-email-generator.git
cd cold-email-generator
python -m venv venv
On Windows, activate the virtual environment:
venv\Scripts\activate
Make sure your virtual environment is activated, then run:
pip install -r requirements.txt
Create a .env
file in the root directory of the project and add your Google Gemini API key:
GEMINI_API_KEY=your_google_gemini_API_key
Navigate to the frontend directory:
cd frontend
npm install
Compile the Tailwind CSS before running the application:
npm run build:css
In the root project directory, run:
python -m backend.app
or run using the following command
flask --app backend.app run --reload
This will start the Flask server, accessible at http://localhost:5000
.
In a separate terminal window, navigate to the frontend directory and run:
npm run watch:css
Open your browser and navigate to:
http://localhost:5000
You should now see the application running locally!
- Configuration file:
tailwind.config.js
- Input CSS file:
frontend/src/input.css
- Output CSS file:
frontend/output.css
- PostCSS file:
postcss.config.js
- Main application file:
backend/app.py
- Utility functions:
backend/utils.py
- AI generation logic:
backend/genai_utils.py
- PDF parsing utility:
backend/utils.py
This application uses the Google Gemini API for generating personalized cold emails and cover letters. Replace the GEMINI_API_KEY
in the .env
file with your own API key from Google Gemini.
Refer to Google's API documentation for more details on obtaining your API key.