A modern web application that helps users generate and refine personalized cover letters using AI. Built with Django and powered by OpenAI's GPT models.
- Generate tailored cover letters based on your resume and job descriptions
- Context handling with similar examples
- Refine generated cover letters with natural language prompts
- Track revision history
- Upload and manage multiple resumes
- Mark cover letters as favorites to influence future generations
- Django 5.1
- OpenAI GPT API
- PostgreSQL with pgvector for embeddings
- Tailwind CSS for styling
- HTMX for dynamic interactions
- Alpine.js for client-side state
-
Clone the repository:
git clone https://github.com/earthcomfy/cover_letter_generator.git cd cover_letter_generator -
Install the project dependencies:
uv sync --all-extras --dev
-
Set up environment variables:
cp .env.example .env # Edit .env with your configuration: # - OPENAI_API_KEY # - GOOGLE_CLIENT_ID # - GOOGLE_CLIENT_SECRET
-
Start PostgreSQL with pgvector:
docker compose up # This will start PostgreSQL with pgvector extension enabled # Default credentials: # - Database: cover_letter_generator # - User: postgres # - Password: postgres
-
Run migrations:
uv run manage.py migrate
-
Start the development server:
uv run manage.py runserver



