Retour aux travaux
En construction

JobMatch

Une plateforme de matching CV ↔ offres d'emploi : un LLM local lit le CV, puis chaque offre agrégée reçoit un score de compatibilité sur 100, explicable.

Calendrier2026 → Demoday, juillet 2026
RôleFull-stack & intégration ML
Équipe
ContexteProjet Demoday
auxance.dev/work/jobmatch
JobMatchCode

Contexte

L'utilisateur dépose son CV en PDF ; un LLM exécuté en local — un modèle Ollama construit pour la tâche — en extrait le profil : métier, ville, compétences, expérience. Rien ne quitte la machine : aucun service IA tiers ne voit le document.

Les offres sont agrégées depuis France Travail, Greenhouse, Lever et Ashby, resynchronisées toutes les six heures. Chacune est scorée contre le profil sur cinq dimensions pondérées — compétences (35), métier (30), expérience (15), localisation (10), contrat (10) — pour qu'un candidat voie pourquoi une offre est classée là où elle est.

FastAPI sert une SPA React 19 (Vite, Tailwind v4, Motion), SQLite par défaut et Postgres en production. Entièrement bilingue FR/EN, avec une cible WCAG 2.2 AA. Demoday en juillet 2026.

Architecture

  • Backend

    FastAPI

    API sous /api avec fallback SPA statique ; APScheduler resynchronise les offres toutes les 6 heures.

  • Frontend

    React 19 · Vite · Tailwind v4

    Bilingue FR/EN avec i18n typé, thème clair/sombre, cible WCAG 2.2 AA.

  • CV extraction

    Ollama — custom jobmatch-cv model

    Tourne entièrement en local ; le CV ne part jamais vers un service tiers.

  • Scoring

    Five weighted dimensions

    Compétences 35 · métier 30 · expérience 15 · localisation 10 · contrat 10 — chaque score est explicable.

Processus

  1. 01

    Un LLM local, pas une API

    Un CV est l'un des documents les plus personnels qui soient. L'extraction tourne sur un modèle Ollama auto-hébergé : le PDF ne quitte jamais l'infrastructure — la confidentialité comme décision d'architecture, pas comme page de politique.

  2. 02

    Des critères pondérés plutôt qu’une boîte noire

    Le score est une formule transparente à cinq dimensions plutôt qu'une sortie de modèle opaque. Un candidat voit exactement quelle dimension lui coûte des points sur une offre donnée — et quoi changer.