ApplyDesk
Back-office personnel pour gérer ma recherche d'emploi de A à Z — scrapers, parsing LLM, suivi de candidatures, génération d'emails, préparation d'entretiens.
Pourquoi j'ai construit ça
Quand on cherche un poste en parallèle d'un CDI, on jongle entre 5+ job boards, des CVs versionnés, des lettres de motivation à adapter, des entretiens à préparer et un suivi qui se perd dans une feuille Excel. ApplyDesk centralise tout ça dans une app où chaque étape est outillée.
Ce qui est intéressant techniquement
Parsing CV via Gemini structured output
J'envoie le texte brut extrait via pypdf et je récupère un Pydantic model fully validé (experiences, formation, skills par catégorie, langues, publications). La détection est fiable même sur des CVs en colonnes.
Multi-langue FR / EN
Chaque CV a une langue, les candidatures aussi. Un bouton « translate → EN » appelle Gemini pour générer une version anglaise idiomatique (action verbs : shipped, led, owned), avec édition manuelle possible bullet par bullet.
Génération LaTeX moderncv
Export du CV en source LaTeX éditable directement dans l'app + compilation sur Overleaf en un clic (form POST avec textarea, parce qu'input strip les newlines — petit détail qui m'a coûté une heure).
Scrapers d'offres
France Travail + Adzuna via API, HelloWork / Welcome to the Jungle en HTML scraping. Dédup intelligente (titre + entreprise + lieu) pour fusionner les doublons inter-sources.
Suivi candidatures + relances auto
Tableau Kanban (envoyée → réponse → entretien → offre), banner « needs followup » quand une candidature dépasse le seuil de jours configuré.
Email de candidature généré + envoi SMTP
Le LLM rédige un email tailored offer × profil, je peux éditer, puis l'app envoie via Gmail SMTP avec le CV en pièce jointe (dans la langue choisie).
Sous le capot
Statut actuel
Utilisé quotidiennement depuis avril 2026. Repo privé pour l'instant — je l'ouvrirai après ma recherche, une fois nettoyé des données perso.