A tool that generates resumes from your existing GitHub projects. Compare job descriptions to filter relevant projects and automatically build a resume or handpick the projects yourself. Acts as a personal database for storing projects and bullet points, which you can generate with AI or write manually. It makes resume updates easier and keeps track of your work, perfect for casting a wide net on entry-level roles.
Visit the site here
- Add Projects: Scrape or manually add your GitHub projects.
- Generate Resume:
- Manual: Handpick which projects appear.
- AI‑powered: Automatically assemble bullet points and select projects.
- Export: Download your tailored resume as a .docx file.
- Flask
- TailwindCSS
- PostgreSQL (or SQLite for local development)
- Gemini API
- Beautiful Soup
- Pandas
- Python 3.8+
- Virtualenv or Conda (recommended)
- Git
-
Clone the repository
git clone https://github.com/0layiw0la/Github-JD.git cd Github-JD -
Create and activate a virtual environment
python -m venv venv source venv/bin/activate # on Linux/Mac venv\\Scripts\\activate # on Windows
-
Install dependencies
pip install -r requirements.txt
-
Get your Gemini API key
- Sign in to your Google Cloud Console: https://console.cloud.google.com/
- Navigate to APIs & Services > Credentials.
- Click Create credentials > API key.
- Copy the generated key.
-
Create a
.envfile in the project root# .env SQL_DATABASE_URL=sqlite:///./projects_points.db # or your PostgreSQL URL GEMINI_API_KEY=your_gemini_api_key_here
-
Database Setup
Since each developer uses their own local database, use Flask-Migrate to initialize and apply migrations in one flow:
# Remove existing migrations folder (if any)
rm -rf migrations/
# Initialize migration repository
flask db init
# Generate initial migration
flask db migrate -m "Initial migration"
# Apply migrations and create the database
flask db upgrade- Run the application
python main.py # or python app.py depending on your entrypoint