Yoann Abriel
en

Tous les projets

2026 · Mis à jour Mai 2026

JobSwiperJobSwiper

Clients payants en production sur jobswiper.ai, construit seul

En production sur jobswiper.ai avec des clients payants, construit en solo. SaaS de recherche d'emploi propulsé par l'IA : moteur de matching (embeddings vectoriels + reranking LLM), éditeur de CV façon Canva, simulateur d'entretien temps réel et extension Chrome pour 18+ job boards et ATS.

jobswiper.ai

Pipeline de candidatures de JobSwiper : colonnes Enregistrée, Candidature envoyée, Entretien et Offre, avec le score de matching sur chaque carte

fig. 01 · Le pipeline de candidatures, avec le score de matching sur chaque carte (données de démonstration)

JobSwiper est une plateforme SaaS complète qui révolutionne la recherche d'emploi grâce à l'intelligence artificielle. L'application combine un éditeur de CV canvas (Fabric.js) façon Canva, un générateur de lettres de motivation par IA avec un éditeur canvas façon Canva (moteur distinct de l'éditeur de CV, 7 templates intégrés, signature manuscrite ou tapuscrite), un simulateur d'entretiens audio (Inworld WebRTC pour la voix temps réel, ElevenLabs pour les aperçus TTS) et un système de recherche d'entreprises intelligent via Tavily. Une extension Chrome (Manifest v3) capture les offres d'emploi depuis 18+ job boards et ATS (Indeed multi-régions, LinkedIn, Glassdoor, Welcome to the Jungle, JobUp.ch, Jobs.ch, Greenhouse, Lever, Workday, iCIMS, etc.) et les organise dans un pipeline Kanban. Monétisation via Stripe avec 4 plans d'abonnement.

Éditeur de CV canvas

Éditeur de CV de JobSwiper : barre d'outils typographique, panneau Modèles à gauche, CV deux colonnes au centre et panneau Correspondance avec l'offre à 87 % à droite

fig. 02 · L'éditeur de CV, ouvert sur une offre AXA dans la démo publique de jobswiper.ai (données d'exemple)

Un éditeur canvas façon Canva construit sur Fabric.js v6 : modèles, éléments et calques, texte éditable directement sur la page. Le CV est adapté à l'offre et exporté en PDF via Puppeteer, ou en Word via la librairie docx.

Lettres de motivation

Liste des lettres de motivation de JobSwiper : filtres par ton (professionnel, enthousiaste, formel, conversationnel, assuré) et tableau intitulé, entreprise, ton, longueur, axe, mots, date

fig. 03 · Les lettres de motivation, une par offre, dans la démo publique de jobswiper.ai (données d'exemple)

Un second éditeur canvas, distinct de celui des CV, génère les lettres par IA : 7 templates intégrés, signature manuscrite ou tapuscrite. Un fichier .pptx ou .docx déposé devient un template éditable (JSZip et fast-xml-parser).

Préparer l'entretien

Notes d'entretien de JobSwiper pour une offre AXA : onglets En un coup d'oeil, Questions probables et Vos questions à poser, hypothèses sur les priorités, pitch d'ouverture, atouts et point à préparer

fig. 04 · Les notes d'entretien d'une offre dans la démo publique de jobswiper.ai (données d'exemple)

Pour chaque offre, des Interview Notes générées par IA sur six axes (entreprise, poste, comportemental, technique, salaire, questions à poser) et trois niveaux de profondeur. Le simulateur d'entretien ajoute la voix temps réel avec Inworld WebRTC et des aperçus TTS ElevenLabs.

Extension Chrome

Section de la page d'accueil de jobswiper.ai : photo d'une candidate devant son ordinateur, carte Offre détectée sur cette page avec le bouton Sauvegarder dans Job Swiper, et le texte Vous la repérez, il la capture

fig. 05 · La capture d'une offre par l'extension, telle que présentée sur la page d'accueil de jobswiper.ai

Une extension Manifest v3 capture l'offre depuis la page consultée, avec des content scripts adaptés à 18+ job boards et ATS (Indeed multi-régions, LinkedIn, Glassdoor, Welcome to the Jungle, JobUp.ch, Greenhouse, Lever, Workday, iCIMS...), et l'envoie dans le pipeline Kanban.

Score de matching

Détail d'une offre AXA dans JobSwiper : score de 87 %, liste Ce que l'annonce exige avec les exigences couvertes ou partielles, bloc Pourquoi ce score et boîte à outils CV, lettre, notes d'entretien, messages

fig. 06 · Le détail d'une offre et l'explication de son score dans la démo publique de jobswiper.ai (données d'exemple)

Chaque offre reçoit un score pondéré (compétences 40, expérience 35, localisation 10, secteur 10, taille d'entreprise 5) avec matching flou, synonymes et inférence de secteur par IA, affiné par des embeddings vectoriels (1536 dimensions) et un reranker LLM.

fig. 07

Page d'accueil de jobswiper.ai en production

jobswiper.ai, la page d'accueil en production

Défis

  • Développement d'un éditeur canvas complet avec Fabric.js pour la création de CV
  • Intégration de 18+ job boards et ATS via une extension Chrome avec parsing spécifique par plateforme
  • Architecture multi-tenant sécurisée avec Row-Level Security Supabase
  • Intégration de multiples services IA (OpenRouter, Inworld, ElevenLabs, Tavily) dans un workflow cohérent

Solutions

  • Éditeur canvas Fabric.js v6 pour les CV avec export PDF via Puppeteer
  • Éditeur canvas dédié aux lettres de motivation avec 7 templates intégrés et signature manuscrite ou tapuscrite
  • Import de templates personnalisés : déposez un fichier .pptx ou .docx et le parser le convertit en template canvas entièrement éditable (PPTX environ 95 % de fidélité, DOCX environ 75 à 85 %), construit avec JSZip et fast-xml-parser
  • Import de profil LinkedIn et import de fichier CV : amorçage du profil en un clic avec étape de revue et fusion avant enregistrement, scraping propulsé par Apify
  • Simulateur d'entretien avec Inworld WebRTC pour la voix temps réel et ElevenLabs pour les aperçus TTS
  • Interview Notes (« cheat sheets » en interne) : notes de préparation générées par IA pour chaque offre, avec trois niveaux de profondeur et six axes (entreprise, poste, comportemental, technique, salaire, questions à poser)
  • Agent IA Scout : interface de chat in-app capable de répondre aux questions sur le pipeline et les offres de l'utilisateur (V1 disponible, V2 prévue annulée en mai 2026 pour recentrer le produit)
  • Moteur de matching d'offres : score pondéré (compétences 40, expérience 35, localisation 10, secteur 10, taille d'entreprise 5), matching flou et lookup de synonymes, inférence de secteur par IA, embeddings vectoriels (1536 dims) et reranker LLM
  • Extension Chrome Manifest v3 avec content scripts adaptés à 18+ job boards et ATS (Indeed, LinkedIn, Glassdoor, Welcome to the Jungle, JobUp.ch, Jobs.ch, Greenhouse, Lever, Workday, iCIMS, SmartRecruiters, Taleo, Workable, Breezy, Ashby, Recruitee, BambooHR, Jazz)
  • Backend Supabase avec Edge Functions (Deno) et RLS pour l'isolation multi-tenant
  • Cockpit admin : éditeur de prompts avec historique de versions, suivi du coût IA par opération, table des prix par modèle, gestion des quotas avec overrides par utilisateur, santé de la plateforme et seuils d'alerte, visualiseur de logs email
  • Stack tech complémentaire : shadcn/ui sur Tailwind 4, Resend et React Email pour les emails transactionnels, hCaptcha sur signup et login, Sentry avec session replay et widget de feedback, Vercel Analytics et Speed Insights conditionnés au consentement cookies RGPD, Recharts pour les dashboards admin, @react-pdf/renderer (chemin d'export legacy) et la librairie docx pour l'export Word
  • Système de billing Stripe en mode live avec 4 plans (Free, Pro, Unlimited, LTD), webhooks sur https://www.jobswiper.ai/api/webhooks/stripe

Résultats

  • Plateforme en production sur jobswiper.ai
  • Support de 18+ job boards et ATS via l'extension Chrome
  • Pipeline complet : capture d'offre → matching IA → CV → lettre → entretien
  • Panneau admin complet avec monitoring IA, gestion des quotas et des utilisateurs
  • Conformité et confiance : consentement cookies RGPD, export complet des données, suppression de compte, hCaptcha sur l'authentification, monitoring d'erreurs Sentry avec widget de feedback utilisateur

Technologies

Next.js 16 · React 19 · TypeScript · Tailwind CSS · shadcn/ui · Supabase · OpenRouter AI · Inworld · ElevenLabs · Apify · Tavily · Stripe · Fabric.js · Chrome Extension · Framer Motion · Puppeteer · Resend · React Email · hCaptcha · Sentry · Vercel Analytics · Recharts · @react-pdf/renderer · docx · JSZip · fast-xml-parser