Zurück zum Projekt
Dokumentation

SmartResume

PythonStreamlitTypstGemini APISQLiteMSIX

KI-gestützte Bewerbungs-App: Aus Profil und Stellenanzeige entstehen Deckblatt, Anschreiben und Lebenslauf als sauber gesetztes PDF.

##Überblick

SmartResume erstellt aus einem Bewerberprofil und einer Stellenanzeige eine vollständige Bewerbung: Deckblatt, Anschreiben und Lebenslauf — als sauber gesetztes PDF.

Der Grundsatz ist Ehrlichkeit: Die KI formuliert nur Texte. Firmen, Zeiträume und Ausbildung kommen deterministisch aus dem Profil und werden vor der Ausgabe geprüft. Wer keinen API-Key hat, nutzt das eigene Gemini- oder ChatGPT-Konto per Kopieren & Einfügen — mit denselben Regeln.

Windows-App & Web
Plattform
Python
Sprache
PDF (Typst)
Ausgabe

##Kern-Features

Bewerbung generieren

  • Stellenanzeige als Link oder Text einfügen
  • Anschreiben im eigenen Tonfall des Profils
  • Lebenslauf mit passend ausgewählten Stationen & Skills
  • Deckblatt, Unterschrift & Akzentfarbe individuell

KI-Anbindung

  • Mehrere Anbieter mit automatischem Wechsel
  • Abo-Modus ohne API-Key (Kopieren & Einfügen)
  • Prompts mit festen Regeln gegen Übertreibungen
  • Automatische Qualitätsprüfung der Ergebnisse

Profil & Jobs

  • Lebenslauf-Import aus PDF oder Word
  • Fortschrittsanzeige für ein vollständiges Profil
  • Jobsuche über eine öffentliche Stellen-Schnittstelle
  • Übersicht „Meine Bewerbungen“ mit Status

Betrieb

  • Lokal als eigenes App-Fenster (WebView2)
  • Als Windows-App paketiert (MSIX) und als portable .exe
  • Mehrbenutzerfähig mit Login per E-Mail-Code auf dem Server
  • Whitelabel über eine Branding-Datei

##Architektur

Eine Streamlit-Oberfläche über klar getrennten Python-Modulen. Die Logik ist komplett ohne UI testbar — die Test-Suite läuft mit einer Fake-KI.

UI-Schicht

Streamlit-Seiten für Bewerbung, Profil, Jobs, Einstellungen und KI-Setup.

Generierung

Prompts, KI-Aufruf mit Fallback und Zusammenführung mit den festen Profildaten.

Qualität

Prüfungen auf erfundene Fakten, Längen, verbotene Floskeln und Struktur.

Rendering

Typst-Template liest alle Daten aus JSON — kein String-Templating, reproduzierbare PDFs.

##Datenschutz & Sicherheit

  • Alle Daten liegen lokal in SQLite — kein Cloud-Dienst nötig
  • API-Keys und Mail-Passwörter werden mit Windows-DPAPI verschlüsselt
  • Keine persönlichen Daten im Repository, Tests nutzen ein erfundenes Profil
  • Sicherung & Wiederherstellung als ZIP direkt in der App

##Tech Stack

Python
Sprache
Streamlit
UI
Typst
PDF-Satz
SQLite
Datenbank
Gemini / Claude
KI
pywebview
App-Fenster
MSIX
Paketierung
pytest
Tests