Étude de cas
MonPoste
Un site d’emploi pour étudiants et jeunes diplômés (emplois, alternances, stages) qui adapte le CV et rédige la lettre de motivation pour chaque offre.
- Rôle
- Fondateur, seul développeur
- Lancement
- Octobre 2026
- Stack
- TypeScript, React 19, Node.js 24, PostgreSQL
01
Le problème
Les étudiants envoient des dizaines de candidatures avec le même CV, alors que chaque offre a son propre vocabulaire. Adapter son CV à la main prend du temps, et les outils d’IA « génériques » réécrivent tout, jusqu’à inventer des expériences.
Et les offres elles-mêmes sont éparpillées entre les sites carrières des employeurs, les plateformes de recrutement et les sources publiques.
02
Collecter 100 000 offres à la source
Un service dédié récupère les offres directement sur les sites carrières et les plateformes de recrutement des employeurs (Workday, SmartRecruiters, Lever, Greenhouse, Taleo et d’autres), ainsi que sur des sources du secteur public.
Chaque offre est nettoyée, dédoublonnée et géolocalisée, puis enrichie avec le type de contrat et le salaire. Résultat : environ 100 000 offres ouvertes, à jour.
03
Une IA qui propose, l’utilisateur qui décide
Le modèle ne réécrit pas le CV librement. Il reçoit le CV structuré, le texte de l’offre et les réglages de l’utilisateur (quelles sections peuvent changer, et à quel point), puis renvoie un JSON structuré qui contient uniquement les sections autorisées. Chaque élément est rattaché à un identifiant du CV d’origine.
L’API valide cette réponse contre un schéma, la transforme en une liste de modifications individuelles et écarte tout ce que les réglages n’autorisent pas. L’utilisateur voit chaque modification, l’accepte ou la refuse, et ses propres retouches sont conservées.
Par défaut, le modèle se contente de reformuler et de réordonner pour reprendre le vocabulaire de l’offre : il n’ajoute rien et ne supprime rien. Gemini Flash rédige les CV et les lettres ; Gemini Flash-Lite lit les CV importés et les offres, et s’occupe des traductions.
04
Le SEO comme canal d’acquisition
Les pages d’offres sont rendues côté serveur avec les données structurées schema.org JobPosting. Des pages d’atterrissage par métier et par ville, et des sitemaps, complètent le dispositif. La majorité du trafic vient aujourd’hui de Google.
05
Infrastructure
Un monorepo TypeScript : une API Node.js 24 / Express 5, un front-end React 19 avec TanStack Query, Tailwind 4 et Vite, et une base PostgreSQL avec Prisma 7.
Le tout tourne en Docker Compose sur un seul VPS, derrière Caddy. Autour : Stripe pour les pass à l’achat unique, Umami auto-hébergé pour des statistiques respectueuses de la vie privée, Brevo pour les e-mails et Playwright pour générer les CV en PDF à partir de templates HTML.
Ce que ça montre
Je sais faire un produit complet, du scraping à la facturation, et le faire tourner en production. C’est exactement ce que j’apporte sur une mission.
Parlons de votre projet