Assitant-Tiya / README.md
dhanvanth183's picture
Deploy app with correct line endings
f84caca

A newer version of the Streamlit SDK is available: 1.56.0

Upgrade
metadata
title: Assistant-Tiya
emoji: πŸ€–
colorFrom: blue
colorTo: purple
sdk: streamlit
sdk_version: 1.28.1
app_file: app.py
pinned: false

AI Resume Assistant

A Streamlit-based LLM assistant that helps you tailor your resume and cover letter based on job descriptions.

Features

  1. Resume Finder - Automatically selects the most relevant portfolio (AI or Data Science) based on job description
  2. Cover Letter Generator - Creates customized cover letters using your selected resume with AI-powered web search for company research
  3. General Query - Answers questions about your application with relevant context

Setup

1. Install Dependencies

pip install -r requirements.txt

2. Configure API Keys

Create a .env file in the project directory:

OPENROUTER_API_KEY=your_openrouter_api_key_here
OPENAI_API_KEY=your_openai_api_key_here

Or provide API keys through the Streamlit UI sidebar.

3. Ensure Portfolio Files Exist

Make sure you have:

  • AI_portfolio.md
  • DS_portfolio.md

in the same directory as app.py

4. Create README.md File (For HuggingFace Spaces)

Create a README.md file in your project root with: ```yaml

title: Assistant-Tiya emoji: πŸ€– colorFrom: blue colorTo: purple sdk: streamlit sdk_version: "1.28.1" app_file: app.py pinned: false


This configuration file is **required** for HuggingFace Spaces deployment. It tells HuggingFace:
- The space name and appearance
- That it's a Streamlit app
- Which file to run (`app.py`)

### 5. Run the Application
```bash
streamlit run app.py

How It Works

Input Section

  • Job Description (Required) - Paste the job posting
  • Resume Finder (Optional) - Check to find the best matching resume
  • Cover Letter (Optional) - Check to generate a cover letter with web search
  • Length of Resume (Optional) - Choose response length (short/medium/long)
  • Select Resume (Optional) - Choose AI_portfolio or DS_portfolio
  • Entry Query (Optional) - Ask specific questions (max 5000 characters)

Processing Logic

The system categorizes inputs based on your selections:

Resume Finder Cover Letter Select Resume Action
βœ“ βœ— No Select Resume Finder - Picks best portfolio
βœ— βœ“ Resume_P/Dss Cover Letter - Generates with web search context
βœ— βœ— Resume_P/Dss General Query - Answers your question
Any other combination Retry - Validation error

Output

Each category produces:

  1. Resume Finder Output

    • Selected Resume: Resume_P or Resume_Dss
    • Reasoning: 25-30 words explaining why
  2. Cover Letter Output

    • Professional cover letter (<250 words)
    • Starts with "Dear Hiring Manager,"
    • Ends with "Best,\nDhanvanth Voona" (signature on separate line)
    • No em dashes or corporate jargon
    • Personalized with company-specific research via web search
  3. General Query Output

    • Natural human-like response
    • Tailored to specified word count
    • Ready to use in applications

Technologies Used

  • Frontend: Streamlit
  • LLM Models:
    • Resume Finder: openai/gpt-oss-safeguard-20b (via OpenRouter)
    • Cover Letter & General Query: gpt-5-mini-2025-08-07 (OpenAI)
    • Cover Letter Context (Web Search): perplexity/sonar (via OpenRouter)
  • APIs: OpenAI, OpenRouter (with Perplexity web search capability)
  • PDF Generation: ReportLab
  • Timezone Support: Pytz (EST timestamps)

Key Features

✨ Auto-Generated Company Research - Uses Perplexity/Sonar to search the web for company information
✨ Two-Stage Cover Letter Generation - First generates company-specific context, then writes personalized letter
✨ PDF Download - Export cover letters as PDFs with EST timestamps
✨ Edit & Save - Modify responses and save changes before downloading
✨ Multi-Portfolio Support - Switch between AI and Data Science portfolios
✨ No Generic Templates - All outputs are authentic and personalized

Notes

  • All LLM outputs are without preamble for direct usage
  • Cover letters have no em dashes as per specifications
  • General queries are kept under word limits specified
  • Responses are formatted to be immediately usable in applications
  • Web search for cover letter context requires OpenRouter API key (Perplexity/Sonar model)

Created by: Dhanvanth Voona