← Alle Projekte

Lebenslauf AI

KI-gestützte Bewerbungsplattform

Fallstudie teilweise verifiziert
Rolle
Solo-Entwickler — Design, Backend und Interface
Team-Kontext
Persönliches Projekt
Jahr
2026
Stack
PythonDjangoDjango REST FrameworkReactTypeScriptPostgreSQLDocker
Geschichtete transparente Folien als Sinnbild der Master-Profil-Dokumentenpipeline von Lebenslauf AI

Exponat-Ansichten — Generierte Platzhalter-Grafik — echte Screenshots ersetzen sie.

Überblick

Lebenslauf AI behandelt den Lebenslauf als strukturiertes System statt als statische Datei. Ein Master-Profil enthält die vollständigen Karrieredaten; daraus erzeugt die Plattform jobbezogene, ATS-orientierte Lebensläufe und Anschreiben. Dokumente werden in einem echten A4-Editor bearbeitet, als PDF exportiert, versioniert und über einen Kanban-Bewerbungs-Workflow mit KPI-Ansichten verfolgt.

Was es kann

  • Master-Profil als einzelne strukturierte Quelle für alle Bewerbungsdokumente
  • Jobbezogene Lebenslauf- und Anschreiben-Generierung, ATS-orientiert
  • A4-Editor mit PDF-Generierung und Dokumentversionshistorie
  • Bewerbungs-Workflow als Kanban-Board mit KPI-Ansichten

Zentrale Entscheidungen

  • Lebenslauf als strukturierte Daten modelliert, nicht als Dokument: Das Master-Profil (persönliche Daten, Erfahrung, Projekte, Skills, Ausbildung, Zertifikate) ist die einzige Quelle der Wahrheit, und jede maßgeschneiderte Version speichert sowohl den Profil-Snapshot als auch die KI-Änderungen — jede Version ist damit eigenständig und jederzeit erneut renderbar.
  • A4-Editor um eine Measure-then-paginate-Pipeline gebaut: Inhalte werden auf einem versteckten Canvas vermessen, gierig auf echte 210 × 297-mm-Seiten mit Abschnitts-Atomarität verteilt und über einen schlanken UnitRenderer-Dispatcher gerendert — dieselbe Pipeline versorgt den Admin-CV-Viewer, sodass Stellen identische Ausgaben sehen.
  • Session-State und Dokument-State mit zwei Zustand-Stores getrennt (Auth/Session vs. CV-Dokument) — der Editor bleibt zurücksetzbar und der Ablauf Zuschneiden → Bearbeiten → Exportieren explizit.
  • Auth und Nachvollziehbarkeit als Kernfeatures behandelt: rotierende JWT, Brute-Force-Sperre, optionale TOTP-Zwei-Faktor-Authentifizierung, Social Login via django-allauth, Geräte-Sessions mit Sperrung sowie eine Admin-API nur für Staff (Metriken, Nutzerverwaltung, vollständige CV-Einsicht), abgesichert durch IsAdminUser.

Schwierigstes Problem

Das schwierigste Problem war die wahrheitsgetreue A4-Paginierung im Browser: CSS allein kann keine Seitenumbrüche garantieren, die Abschnittgrenzen über Templates, Zoomstufen und Inhaltslängen hinweg respektieren. Gelöst habe ich es mit einem versteckten Mess-Canvas, der reale Blockhöhen erfasst, und einem gierigen Packer, der A4-Seiten fester Höhe füllt und Abschnitte atomar hält — mit Template-spezifischen Höhenbudgets für mehrspaltige Layouts. Derselbe Renderer versorgt Admin-Viewer und Druck-Stylesheet, sodass Editor, Staff-Ansicht und exportiertes PDF immer übereinstimmen.

Gelernt

  • Eingaben zum Entscheidungszeitpunkt per Snapshot sichern: Profil-Snapshot plus KI-Änderungen machten jede CV-Version reproduzierbar, ohne Live-Daten anzufassen.
  • Ein schlanker Dispatcher plus kleine Render-Einheiten skaliert besser als eine riesige Editor-Komponente — der verbliebene übergroße Orchestrator ist ehrliche technische Schuld, die ich als Nächstes aufteilen würde.
  • Sicherheit ist eine Feature-Liste, keine Checkbox: Sperre, 2FA, Session-Sperrung und Audit-Logs entstanden jeweils aus dem Nachdenken über Missbrauchsfälle, nicht über Happy Paths.
  • Von Tag eins für den Druck zu entwerfen (exakte A4-Maße, Druck-CSS, Zoom-to-fit) ersparte eine schmerzhafte Nachrüstung beim Export.
Nächstes Projekt — Khairul Islam

02 Smart BPMN