Resumate is a local, AI-powered agent designed to tailor resumes for specific job applications. It functions as an intelligent ETL (Extract, Transform, Load) pipeline:
.docx) document ready for submission.| Component | Technology | Reasoning |
|---|---|---|
| Frontend UI | Streamlit |
Enables rapid development of a reactive web interface entirely in Python. |
| AI Engine | DeepSeek-V3 |
Selected for its high reasoning capabilities and extreme cost-efficiency (~$0.14/1M tokens). |
| AI Client | OpenAI SDK |
DeepSeek is fully compatible with the OpenAI API standard, allowing us to use the robust openai Python library by simply changing the base URL. |
| Web Scraping | LangChain |
Specifically WebBaseLoader for robustly parsing text from Job Posting URLs. |
| File Processing | PyPDF & Python-Docx |
Lightweight libraries for reliable text extraction (PDF) and document generation (DOCX). |
The project follows a modular architecture to separate UI logic from business logic.
resumate/
├── main.py # Controller: UI layout and orchestration logic
├── requirements.txt # Dependency manifest
├── .gitignore # Security: Ignores secrets and virtual env
├── .streamlit/
│ └── secrets.toml # Configuration: Stores the DeepSeek API Key
└── src/
├── llm_engine.py # The "Brain": Manages DeepSeek API interactions
└── doc_utils.py # The "Hands": Handles File I/O and formatting
src/llm_engine.py (The AI Core)This module manages all communication with the DeepSeek API.
1. Client Initialization (get_deepseek_client)
OpenAI client but overrides the base_url to point to DeepSeek's servers (https://api.deepseek.com).DEEPSEEK_API_KEY from Streamlit secrets, ensuring no keys are hardcoded in the source.