ApplyDesk
Personal job-search back-office to handle everything end-to-end — scrapers, LLM parsing, application tracking, email generation, interview prep.
Why I built this
When job-hunting alongside a full-time role, you juggle 5+ job boards, versioned CVs, cover letters to tailor, interviews to prep, and an application log that gets lost in a spreadsheet. ApplyDesk centralizes all of that in one app where every step is tooled.
What is technically interesting
CV parsing via Gemini structured output
I feed the raw text extracted via pypdf and get back a fully validated Pydantic model (experiences, education, skills by category, languages, publications). Detection holds up even on column-layout CVs.
Bilingual FR / EN
Each CV has a language, and so do applications. A "translate → EN" button calls Gemini to generate an idiomatic English version (action verbs: shipped, led, owned), with bullet-by-bullet manual editing.
moderncv LaTeX generation
CV exported as editable LaTeX source directly inside the app + one-click compilation on Overleaf (form POST with textarea, because input strips newlines — a small detail that cost me an hour).
Job-offer scrapers
France Travail + Adzuna via API, HelloWork / Welcome to the Jungle via HTML scraping. Smart dedup (title + company + location) merges duplicates across sources.
Application tracking + auto-followup
Kanban board (sent → response → interview → offer), with a "needs followup" banner when an application exceeds the configured day threshold.
LLM-generated cover email + SMTP send
The LLM writes a tailored offer × profile email, I can edit, then the app sends via Gmail SMTP with the CV attached (in the chosen language).
Under the hood
Current status
Used daily since April 2026. Private repo for now — I'll open-source it after my job search, once cleaned of personal data.