add link to job/company in email

This commit is contained in:
Sebastian Egli 2025-08-29 10:59:14 +02:00
parent 871c276342
commit 0e995788e0
2 changed files with 23 additions and 16 deletions

View File

@ -1,19 +1,23 @@
# 1. Use a lightweight Python image FROM python:3.11-slim
FROM python:3.12-slim
# 2. Environment settings # Set working directory
ENV PYTHONUNBUFFERED=1
ENV PIP_NO_CACHE_DIR=1
# 3. Set working directory inside the container
WORKDIR /app WORKDIR /app
# 4. Copy and install dependencies first (better caching) # Install dependencies
COPY requirements.txt . COPY requirements.txt .
RUN pip install -r requirements.txt RUN pip install --no-cache-dir -r requirements.txt
# 5. Copy all your app files into the container # Copy project files
COPY . . COPY job_suggestor.py .
COPY cv_sebastian_egli.txt .
# 6. Set the default command to run your script # already_suggested_companies.txt will be mounted as a volume, so we don't COPY it
ENTRYPOINT ["python", "job_suggestor.py"] # but let's make sure the file exists in container
RUN touch already_suggested_companies.txt
# Environment variables (to be passed at runtime)
ENV GEMINI_API_KEY=""
ENV GMAIL_PW=""
# Run script
CMD ["python", "job_suggestor.py"]

View File

@ -15,6 +15,7 @@ class JobSuggestion(BaseModel):
company_description: str company_description: str
job_title: str job_title: str
application_text: str application_text: str
company_url: str
# Load CV from file # Load CV from file
with open("cv_sebastian_egli.txt", "r", encoding="utf-8") as f: with open("cv_sebastian_egli.txt", "r", encoding="utf-8") as f:
@ -34,10 +35,11 @@ Schlage mir genau ein Unternehmen in der Nähe von Marburg vor, das noch nicht i
und für eine Initiativbewerbung besonders gut zu meinem Profil passt. und für eine Initiativbewerbung besonders gut zu meinem Profil passt.
Erkläre in maximal 150 Wörtern prägnant, warum dieses Unternehmen eine besonders gute Wahl für mich wäre. Erkläre in maximal 150 Wörtern prägnant, warum dieses Unternehmen eine besonders gute Wahl für mich wäre.
Formuliere die Antwort als kurze, professionelle Email mit dem Titel: 'Neuer Jobvorschlag'. Formuliere die Antwort als kurze Email mit dem Titel: 'Neuer Jobvorschlag'.
Begründe die Eignung anhand meiner Qualifikationen und Interessen. Begründe die Eignung anhand meiner Qualifikationen und Interessen.
Füge außerdem einen einzelnen Satz hinzu, der direkt in einem Bewerbungsschreiben genutzt werden könnte, Füge außerdem einen einzelnen Satz hinzu, der direkt in einem Bewerbungsschreiben genutzt werden könnte,
um die Übereinstimmung zwischen mir und dem Unternehmen hervorzuheben. um die Übereinstimmung zwischen mir und dem Unternehmen hervorzuheben.
Füge zum Schluss einen Link zu der Firmenwebsite hinzu.
Liefere nur die Email, keine zusätzliche Erklärung.""",already_suggested_companies,cv] Liefere nur die Email, keine zusätzliche Erklärung.""",already_suggested_companies,cv]
else: else:
@ -46,10 +48,11 @@ Schlage mir genau eine aktuell offene Stellenausschreibung in der Nähe von Marb
und die besonders gut zu meinem Profil passt. und die besonders gut zu meinem Profil passt.
Erkläre in maximal 150 Wörtern prägnant, warum diese Stelle eine besonders gute Wahl für mich wäre. Erkläre in maximal 150 Wörtern prägnant, warum diese Stelle eine besonders gute Wahl für mich wäre.
Formuliere die Antwort als kurze, professionelle Email mit dem Titel: 'Neuer Jobvorschlag'. Formuliere die Antwort als kurze Email mit dem Titel: 'Neuer Jobvorschlag'.
Begründe die Eignung anhand meiner Qualifikationen und Interessen. Begründe die Eignung anhand meiner Qualifikationen und Interessen.
Füge außerdem einen einzelnen Satz hinzu, der direkt in einem Bewerbungsschreiben genutzt werden könnte, Füge außerdem einen einzelnen Satz hinzu, der direkt in einem Bewerbungsschreiben genutzt werden könnte,
um die Übereinstimmung zwischen mir und der ausgeschriebenen Stelle hervorzuheben. um die Übereinstimmung zwischen mir und der ausgeschriebenen Stelle hervorzuheben.
Füge zum Schluss einen Link zu der Stellenausschreibung oder zum Unternehmen hinzu.
Liefere nur die Email, keine zusätzliche Erklärung.""",already_suggested_companies,cv] Liefere nur die Email, keine zusätzliche Erklärung.""",already_suggested_companies,cv]