
Lifesheet ist eine Online-Plattform, die Arbeitssuchenden hilft, ihre Lebensläufe einfach zu erstellen und zu formatieren. Ihr Hauptziel ist es, den Prozess der Erstellung eines professionellen Lebenslaufs zu vereinfachen und sicherzustellen, dass Benutzer ihre Fähigkeiten und Erfahrungen auf die effektivste Weise präsentieren können.
Dieser Service ist ideal für alle, die aktiv nach Arbeit suchen, besonders für diejenigen, die sich auf mehrere Stellenangebote bewerben müssen. Lifesheet erkennt an, dass jede Bewerbung einen maßgeschneiderten Lebenslauf erfordern kann, der spezifische Qualifikationen hervorhebt, die für die Position relevant sind, oder ein Anschreiben. Anstatt ihren Lebenslauf für jede Bewerbung manuell zu bearbeiten, können Benutzer alle ihre Informationen in Lifesheet eingeben und später auswählen, welche Details für jede Stelle am relevantesten sind. Sie können diese Auswahl entweder manuell treffen oder den eingebauten KI-Assistenten nutzen, um automatisch die relevantesten Informationen basierend auf der Stellenbeschreibung zu identifizieren.
Durch die Vereinfachung des Prozesses der Lebenslaufanpassung adressiert Lifesheet die übliche Herausforderung, sich auf zahlreiche Jobs zu bewerben, und erhöht die Chancen, ein Vorstellungsgespräch zu bekommen. Benutzer sparen Zeit und Mühe, während sie gleichzeitig sicherstellen, dass jede Bewerbung zielgerichtet und professionell ist.

Lifesheet ist eine Software as a Service (SaaS) Plattform, die es Benutzern ermöglicht, über einen Webbrowser auf den Service zuzugreifen, ohne eine lokale Installation zu benötigen. Dieses Modell bietet mehrere Vorteile, darunter einfache Updates, Skalierbarkeit und Zugänglichkeit von jedem Gerät mit Internetverbindung. Der Service wird in zwei Stufen angeboten: Free und Premium
Benutzer in der kostenlosen Stufe erhalten Zugang zu den gleichen Funktionen wie Premium-Benutzer, jedoch mit Werbung in der gesamten Anwendung. Wir integrieren Google AdSense für diesen Zweck.
Die Plattform unterstützt mehrere Sprachen, was Benutzern mit unterschiedlichem sprachlichen Hintergrund ermöglicht, den Service effektiv zu nutzen. Dies wird durch eine Kombination aus Lokalisierungstechniken und KI-gestützten Übersetzungsfunktionen erreicht, wodurch sichergestellt wird, dass Benutzer die Benutzeroberfläche in ihrer bevorzugten Sprache erhalten und Lebensläufe in ihrer bevorzugten Sprache erstellen können.
Eine Übersetzungsfunktion ist ebenfalls verfügbar, die es Benutzern ermöglicht, ihre Lebensläufe einfach in verschiedene Sprachen zu übersetzen.
Derzeit werden Englisch, Spanisch und Deutsch unterstützt.
Das Frontend der Anwendung ist mit ReactJS und Typescript gebaut und nutzt Tailwind als CSS-Framework. Das Backend wird von Node.js und Express angetrieben, mit einer MongoDB-Datenbank zur Speicherung von Benutzerdaten und Lebenslaufvorlagen. Dieser Technologie-Stack ermöglicht eine responsive und dynamische Benutzererfahrung und stellt gleichzeitig Skalierbarkeit und Wartbarkeit sicher.
Die Infrastruktur ist bescheiden: jede Backend-Komponente arbeitet in ihrem eigenen Docker-Container. Eine Nginx- Instanz fungiert als Gateway und kümmert sich auch um TLS.
Obwohl Frontend und Backend nicht vom selben "Service" bereitgestellt werden, teilen sie dieselbe Domain, was die CORS-Konfiguration unkompliziert macht und es der Anwendung ermöglicht, nahtlos zu einem anderen Server zu migrieren oder in einer lokalen Entwicklungsumgebung zu laufen.
Für die PDF-Generierung wird das Dokument im Frontend mit einer Kombination aus JavaScript und CSS für fortgeschrittene Formatierung erstellt. Anschließend wird das resultierende HTML an das Backend gesendet, wo ein PDF-Dokument mit Puppeteer generiert wird, was eine hochwertige Ausgabe gewährleistet, die das Layout und das Styling des Lebenslaufs beibehält.
Die Authentifizierung wird mit einer selbst gehosteten Keycloak-Instanz verwaltet, die eine robuste und flexible Lösung für Benutzerverwaltung und Zugriffskontrolle bietet. Diese Option wurde aufgrund ihrer Open-Source- Natur, gutem Ruf und Community-Unterstützung gewählt
KI-Funktionen werden mit Gemini.AI implementiert. Die Prompts sind sorgfältig gestaltet, um Kompatibilität mit der Dokumentstruktur zu gewährleisten, die von der Vorlage der Plattform erwartet wird, sowie um sicherzustellen, dass das Modell nur die wahren Informationen verwendet, die vom Benutzer bereitgestellt werden, ohne jegliche Fabrikation.
API-Aufrufe an Gemini oder jedes andere LLM können oft mehrere Minuten dauern. Gewöhnliche REST-Aufrufe können während dieser Zeit ein Timeout erreichen, daher verwenden wir einen nachrichtenbasierten Ansatz, um diese langlebigen Operationen zu koordinieren.
Im Backend verwenden wir BullMQ, um Jobs für jede KI-abhängige Operation zu erstellen. Dies ermöglicht es uns auch, einfach Wiederholungslogik mit exponentiellem Backoff zu implementieren, wenn ein KI-API-Aufruf mit einem vorübergehenden Fehler fehlschlägt.
Für das Frontend bedeutet dies, dass beim Aufruf einer KI-Operation die Anfrage an das Backend gesendet und ein Job in der BullMQ-Warteschlange erstellt wird. Das Frontend kann dann das Backend nach dem Status des Jobs abfragen, was eine responsive Benutzererfahrung auch für langlebige Operationen ermöglicht. Es bedeutet auch, dass der Benutzer sicher den Browser schließen oder von der Seite wegnavigieren kann, ohne den Fortschritt der Operation zu verlieren.
Zahlungen für die Premium-Stufen werden über eine Stripe-Integration abgewickelt, die eine sichere und effiziente Verarbeitung von Benutzerabonnements und -transaktionen ermöglicht.
Zahlungen werden über den Checkout-Session-Workflow durchgeführt, der eine nahtlose und sichere Zahlungserfahrung für Benutzer bietet. Das Backend empfängt dann die Zahlungsbestätigung in einem Webhook und markiert den Kauf als abgeschlossen.