Aller au contenu principal

Joble

Un bot de veille d'emploi qui fait le tri à votre place. Il récupère les offres de huit sources, les note par IA selon vos critères et vous envoie chaque jour sur Telegram celles qui valent une candidature.

Produit persoApp web
Joble · outil privé
Aperçu de Joble

Le contexte

Joble est né d'une nécessité. Après la liquidation judiciaire de l'agence et la fin de mon contrat, je devais chercher du travail. Cela voulait dire 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 à refaire chaque matin.

J'ai donc inversé la logique. Je décris une fois ce que je cherche : intitulés de poste, stack, mots à éviter, mode de travail, zone géographique, type de contrat, salaire minimum. Le bot va chercher les offres, les lit et les note à ma place. Seules celles qui dépassent mon seuil de pertinence arrivent sur Telegram, dans la plage horaire que j'ai choisie.

Ma mission

J'ai mené le projet seul, comme un produit. Une application Nuxt sert à la fois le tableau de bord et l'API via ses routes serveur, avec Prisma et PostgreSQL pour les données. Les offres viennent des API de France Travail, Adzuna et Remotive, du flux RSS de We Work Remotely et d'autres agrégateurs. Elles sont nettoyées et dédoublonnées avant l'analyse.

Tout repose sur 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). La réponse est validée par Zod. Le bot Telegram (Telegraf) envoie les offres au-dessus du seuil. Le tableau de bord suit le taux de correspondance, la pertinence par source et les candidatures, et génère la lettre de motivation en PDF ou Word. L'ensemble tourne dans Docker sur un VPS OVH, déployé avec Coolify, avec des sessions par cookie uniquement, une limitation du nombre de requêtes et des en-têtes de sécurité.

Ce que j'aime dans Joble, c'est qu'il m'enlève le tri. Je ne reçois que les annonces qui me correspondent, sans filtrer moi-même des centaines d'offres. Et une période difficile a donné 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, je ne vois jamais les autres

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
  • Huit sources : API France Travail, Adzuna et Remotive, flux RSS We Work Remotely, Arbeitnow, Himalayas, Jobicy, RemoteOK
  • Note IA de chaque offre (DeepSeek en 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

La stack

  • Nuxt
  • TypeScript
  • Tailwind CSS
  • Prisma
  • PostgreSQL
  • Redis
  • BullMQ
  • Telegraf
  • DeepSeek
  • Zod
  • Docker
  • Coolify