A modern web application that automatically generates tailored cover letters based on your resume, job descriptions, and company information using AI.
This project uses AI to streamline the job application process by generating personalized cover letters that highlight relevant experience and skills based on the specific job and company you're applying to.
- Resume Parsing: Extract key skills and experience from your CV/resume
- Job Description Analysis: Identify key requirements and qualifications from job postings
- Company Research: Automatically gather company information to personalize your letter
- AI-Powered Generation: Create tailored, professional cover letters that match the job and company
- Multiple Input Methods: Upload documents or paste text for job descriptions
- Modern UI: Clean, responsive interface that works on desktop and mobile devices
The application is built with a modern, scalable architecture:
- Frontend: HTMX with Daisy UI CSS for styling
- Backend: FastAPI Python backend
- Containerization: Docker support for easy deployment
- Node.js 16+ and npm/pnpm (frontend)
- Python 3.9+ (backend)
- Docker and Docker Compose (optional, for containerized deployment)
-
Clone the repository:
git clone https://github.com/yourusername/cover-letter.git cd cover-letter
-
Set up the backend:
cd backend cp .env.example .env # Configure your environment variables uv venv source .venv/bin/activate uv pip install -r requirements.txt
-
Set up the frontend:
cd ../frontend cp .env.example .env # Configure your environment variables npm install # or pnpm install
-
Start the backend server:
cd backend uvicorn main:app --reload
-
Start the frontend development server:
cd frontend npm run dev # or pnpm dev
-
Access the application at http://localhost:1234
To run the entire application using Docker:
docker-compose up -d
- Backend API Documentation: Detailed information about the API endpoints, configuration, and development
- Frontend Documentation: Information about the frontend architecture, components, and development
Contributions are welcome! Please feel free to submit a Pull Request.