Spaces:
Sleeping
Sleeping
File size: 2,337 Bytes
ab1ad86 6c8af71 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 | # AI Resume & Cover Letter Generator
AI-powered app that analyzes a job description and your background, then generates a tailored resume (Markdown β PDF) and cover letter (text β PDF). Built with Streamlit, Pydantic, and LiteLLM.
## Features
- Analyse JD + resume to extract strengths, gaps, and suggestions
- Refine analysis with feedback
- Generate resume (Markdown) and cover letter (text)
- Export PDFs and a combined ZIP
## Quick Start
### 1. Configure Secrets
First, copy the example environment file and add your LLM API key.
```bash
cp .env.example .env
```
Now, edit the `.env` file to add your `OPENAI_API_KEY` or keys for other supported providers.
### 2. Install Dependencies
You will need Python 3.9+ and can use `uv` (recommended) or `pip`.
**Using uv:**
```bash
# Install uv if you don't have it
pip install uv
# Install dependencies from pyproject.toml
uv sync
```
**Using pip:**
```bash
pip install streamlit litellm pydantic pyyaml weasyprint python-dotenv pytest tenacity markdown-it-py
```
*Note: `weasyprint` may require installing system-level dependencies like Pango, Cairo, and GDK-PixBuf. Please see the [WeasyPrint documentation](https://doc.weasyprint.org/stable/first_steps.html#installation) for platform-specific instructions.*
### 3. Run the Application
Once dependencies are installed, run the Streamlit app:
**Start the Application:**
```bash
streamlit run app.py
```
You can now view the application in your browser, typically at `http://localhost:8501`.
**Run Tests:**
```bash
pytest -q
```
## Project Structure
```
apply-helper/
βββ pyproject.toml # Project dependencies and scripts
βββ README.md # This file
βββ app.py # Streamlit frontend main entry point
βββ docs/
β βββ prd.md # Product Requirements Document
β βββ spec.md # Technical Specifications
βββ services/
β βββ analyse_service.py
β βββ generation_service.py
β βββ pdf_service.py
β βββ llm_service.py
βββ llm/
β βββ litellm_client.py
β βββ prompt_templates.py
βββ exports/ # Directory for exported PDF files
βββ tests/ # Unit tests
```
PYTHONPATH=src python -m services.analyse_service
|