ProjetsÉtude de cas
Joble.
Le bot de veille d'emploi qui fait le tri à votre place : il agrège les offres de huit sources, les note par IA selon vos critères et ne vous livre sur Telegram, chaque jour, que celles qui valent une candidature.
Le contexte.
Joble est né d'une nécessité : après la liquidation judiciaire de l'agence et la fin de mon contrat, il fallait chercher du travail. Et chercher du travail, c'est d'abord subir : des dizaines d'offres par jour sur autant de sites, la plupart hors sujet — mauvaise stack, mauvais contrat, mauvaise zone — et le même tri fastidieux à refaire chaque matin.
D'où l'idée d'inverser la logique : décrire une fois ce que je cherche — intitulés de poste, stack, mots à éviter, mode de travail, zone géographique, type de contrat, salaire minimum — et laisser un bot aller chercher, lire et noter les offres à ma place. Seules celles qui dépassent mon seuil de pertinence arrivent sur Telegram, dans la plage horaire que j'ai choisie.
Ma mission.
Projet 100 % solo, pensé comme un vrai produit : une application Nuxt qui sert à la fois le tableau de bord et l'API via ses routes serveur, avec Prisma et PostgreSQL pour les données. Les offres sont collectées depuis les APIs de France Travail, Adzuna et Remotive, les flux RSS de We Work Remotely et d'autres agrégateurs, puis nettoyées et dédoublonnées avant analyse.
Le cœur du système est une file de jobs BullMQ sur Redis : chaque offre passe par DeepSeek en mode JSON, qui la résume et la note critère par critère — intitulé, compétences, mots à éviter, zone, contrat, salaire — avec une réponse validée par Zod. Le bot Telegram (Telegraf) livre les offres au-dessus du seuil ; le tableau de bord suit le match rate, la pertinence par source et les candidatures, et génère la lettre de motivation en PDF ou Word. Le tout est conteneurisé avec Docker et déployé sur un VPS OVH via Coolify, avec sessions cookie-only, rate limiting et en-têtes de sécurité.
Ce que j'aime dans Joble, c'est ce qu'il m'enlève : le tri. Je ne reçois que les annonces qui me correspondent, sans avoir à filtrer moi-même des centaines d'offres — et j'ai pu transformer une période subie en un produit que quelques amis utilisent aussi.
8
sources d'offres agrégées
+33 000
offres en base, analysées en continu
≈ 5 %
d'offres retenues — le reste ne m'atteint jamais
Ce que fait l'app.
- Profil de recherche : intitulés de poste, stack, mots à éviter (mode souple ou strict), mode de travail, zone, expérience, contrat, salaire minimum — avec une configuration assistée par IA
- Agrégation de huit sources : APIs France Travail, Adzuna et Remotive, flux RSS We Work Remotely, Arbeitnow, Himalayas, Jobicy, RemoteOK
- Scoring IA de chaque offre (DeepSeek, mode JSON validé par Zod) : résumé et note critère par critère, de 0 à 100 %
- Notifications Telegram des offres au-dessus du seuil choisi, dans une plage horaire définie
- Tableau de bord : offres analysées et pertinentes, évolution sur 30 jours, pertinence par source, suivi des candidatures
- Lettre de motivation générée par IA, exportable en PDF ou Word
