{
  "$schema": "https://raw.githubusercontent.com/jsonresume/resume-schema/v1.0.0/schema.json",
  "meta": {
    "canonical": "https://kevinroualec.fr/api/cv.json",
    "version": "1.0.0",
    "lastModified": "2026-07-31",
    "language": "fr",
    "note": "CV structuré au format jsonresume.org — importable dans la plupart des ATS. Toutes les infos publiées ici sont aussi visibles sur kevinroualec.fr. Pas de tracker, pas de collecte."
  },
  "basics": {
    "name": "Kevin Roualec",
    "label": "Ingénieur IA",
    "image": "https://kevinroualec.fr/icon-512.png",
    "email": "contact@kevinroualec.fr",
    "phone": "",
    "url": "https://kevinroualec.fr/",
    "summary": "Ingénieur IA basé en Normandie. Spécialiste Machine Learning, NLP, Computer Vision, Cloud (Azure/AWS) et numérique responsable. En recherche active depuis fin mai 2026 — CDI, CDD ou freelance, télétravail ou hybride. Portfolio 100 % local, RGPD par design, avec 16 démos IA jouables dans le navigateur.",
    "location": {
      "region": "Normandie",
      "countryCode": "FR",
      "city": "Rouen"
    },
    "profiles": [
      { "network": "LinkedIn", "username": "kevin-roualec", "url": "https://www.linkedin.com/in/kevin-roualec/" },
      { "network": "GitHub", "username": "Ranack", "url": "https://github.com/Ranack" }
    ]
  },
  "work": [
    {
      "name": "INIT1",
      "position": "Ingénieur IA",
      "location": "Rouen, Normandie · À distance",
      "url": "",
      "startDate": "2026-01",
      "endDate": "2026-05-30",
      "summary": "CDD temps partiel · 5 mois. Conception et déploiement de produits SaaS B2B basés sur des architectures RAG, LLM API (OpenAI, Anthropic, Mistral, Gemini, Claude), embeddings, recherche vectorielle. Extraction documentaire, OCR, moteur d'expertise réglementaire, chatbots domaine spécialisés, assistants vocaux, génération assistée par IA, computer vision pour la conformité.",
      "highlights": [
        "Stack : Python, FastAPI, LangChain, Transformers, PostgreSQL, pgvector, Docker, déploiement cloud souverain",
        "5 projets phares livrés en production",
        "Prompt engineering avancé, chain-of-thought, fine-tuning, évaluation de sorties LLM"
      ]
    },
    {
      "name": "RWS Group",
      "position": "Bard quality rater",
      "location": "France · À distance",
      "url": "",
      "startDate": "2024-03",
      "endDate": "2024-09",
      "summary": "Freelance · 7 mois. Évaluation qualité des sorties de Google Bard/Gemini : alignement, factualité, sécurité, biais.",
      "highlights": []
    },
    {
      "name": "Vert Num'",
      "position": "Dirigeant — Consultant numérique responsable",
      "location": "Normandie · À distance",
      "url": "",
      "startDate": "2021-06",
      "endDate": "2024-09",
      "summary": "Freelance · 3 ans 4 mois. Audit et conseil en écoconception logicielle, sobriété numérique, conformité RGPD. Sensibilisation, référentiels GreenIT, méthodes low-tech, mesure d'empreinte carbone du numérique.",
      "highlights": []
    },
    {
      "name": "Welocalize",
      "position": "Évaluateur qualité IA (3 missions)",
      "location": "À distance",
      "url": "",
      "startDate": "2021-12",
      "endDate": "2024-03",
      "summary": "Freelance · 2 ans 4 mois. Évaluation qualité de contenus publicitaires sur Google Ads, YouTube Ads, Google Play. Rating de sorties de modèles, alignement humain, protocoles d'évaluation pour l'entraînement de systèmes de recommandation.",
      "highlights": [
        "Ads Quality Rater",
        "Traducteur FR/EN",
        "Projet Bard (évaluation Google LLM)"
      ]
    },
    {
      "name": "Parc zoologique Cerza",
      "position": "Chargé de communication / Marketing / Webmaster / DPO",
      "location": "Hermival-les-Vaux, Normandie · Sur site",
      "url": "",
      "startDate": "2022-08",
      "endDate": "2023-09",
      "summary": "CDD · 1 an 2 mois. Communication, marketing digital, webmastering. Rôle DPO transverse : cartographie des traitements, DPIA, mise en conformité RGPD.",
      "highlights": []
    },
    {
      "name": "MAKER OF NOTHING",
      "position": "Développeur Web",
      "location": "Biarritz, Nouvelle-Aquitaine · À distance",
      "url": "",
      "startDate": "2020-10",
      "endDate": "2020-11",
      "summary": "Temps plein · 1 mois. Développement web sur mesure.",
      "highlights": []
    },
    {
      "name": "Normandie Web School",
      "position": "Développeur Web / Administrateur systèmes et réseaux",
      "location": "Le Petit Quevilly · Hybride",
      "url": "",
      "startDate": "2019-09",
      "endDate": "2020-10",
      "summary": "Contrat en alternance · 1 an 2 mois. Développement web + administration systèmes et réseaux.",
      "highlights": []
    },
    {
      "name": "LCOMLOCAL",
      "position": "Développeur web",
      "location": "Franqueville-Saint-Pierre · Sur site",
      "url": "",
      "startDate": "2018-11",
      "endDate": "2019-07",
      "summary": "Contrat en alternance · 9 mois. Développement web (HTML, CSS, JS, PHP).",
      "highlights": []
    },
    {
      "name": "Ofelias",
      "position": "Développeur web",
      "location": "Rouen · Hybride",
      "url": "",
      "startDate": "2018-03",
      "endDate": "2018-06",
      "summary": "Stage · 4 mois.",
      "highlights": []
    },
    {
      "name": "Gendarmerie Nationale",
      "position": "SOG — Sous-Officier de Gendarmerie",
      "location": "France",
      "url": "",
      "startDate": "2012-08",
      "endDate": "2014-07",
      "summary": "2 ans. Formation et service dans la Gendarmerie Nationale française.",
      "highlights": []
    },
    {
      "name": "Marine Nationale",
      "position": "EOPAN — École Opérationnelle de Piloté par Assistance à la Navigation",
      "location": "France",
      "url": "",
      "startDate": "2010-09",
      "endDate": "2012-07",
      "summary": "1 an 11 mois. Formation militaire dans la Marine Nationale.",
      "highlights": []
    }
  ],
  "education": [
    {
      "institution": "OpenClassrooms",
      "url": "https://openclassrooms.com/",
      "area": "Intelligence Artificielle",
      "studyType": "Titre RNCP niveau 7 — Artificial Intelligence Engineer",
      "startDate": "2024-06",
      "endDate": "2025-06",
      "score": "Validé",
      "courses": [
        "Machine Learning classique",
        "Deep Learning (CNN, RNN, Transformers)",
        "Computer Vision (YOLO, segmentation)",
        "NLP (BERT, embeddings)",
        "Cloud (Azure, AWS)",
        "Big Data (PySpark)"
      ]
    },
    {
      "institution": "OpenClassrooms",
      "url": "https://openclassrooms.com/",
      "area": "Marketing / Communication",
      "studyType": "Titre RNCP — Responsable marketing opérationnel et communication",
      "startDate": "2020-12",
      "endDate": "2021-12",
      "score": "Validé",
      "courses": []
    },
    {
      "institution": "Normandie Web School",
      "url": "",
      "area": "Computer Science",
      "studyType": "Chef de projet numérique — Option Développement web et mobile",
      "startDate": "2019",
      "endDate": "2020",
      "score": "",
      "courses": []
    },
    {
      "institution": "CESI École Supérieure de l'Alternance",
      "url": "https://www.cesi.fr/",
      "area": "Développement web",
      "studyType": "Titre RNCP Développeur Web",
      "startDate": "2017-09",
      "endDate": "2019-07",
      "score": "Obtenu",
      "courses": []
    },
    {
      "institution": "Via Formation",
      "url": "",
      "area": "Développement web",
      "studyType": "Développeur Intégrateur Codeur Web (DICW)",
      "startDate": "2016",
      "endDate": "2016",
      "score": "",
      "courses": []
    },
    {
      "institution": "42 Paris",
      "url": "https://42.fr/",
      "area": "Computer Programming",
      "studyType": "The Piscine — Bootcamp 4 semaines",
      "startDate": "2015",
      "endDate": "2015",
      "score": "",
      "courses": []
    },
    {
      "institution": "Lycée Jehan Ango",
      "url": "",
      "area": "Sciences (option SVT)",
      "studyType": "Baccalauréat Scientifique",
      "startDate": "2006",
      "endDate": "2010",
      "score": "Obtenu",
      "courses": []
    }
  ],
  "certificates": [
    {
      "name": "Numérique Responsable",
      "date": "2021-05",
      "issuer": "La Rochelle Université",
      "url": "",
      "credentialId": "bmP2Vb34"
    },
    {
      "name": "MOOC Intelligence Artificielle Responsable",
      "date": "2026-07-21",
      "issuer": "Institut du Numérique Responsable (INR) · ISIT Belgique · ISIT Suisse",
      "url": "https://kevinroualec.fr/attestations/INR-IA-Responsable-Kevin-Roualec-2026-07-21.pdf",
      "score": "95 %"
    },
    {
      "name": "Développez votre activité avec le Marketing de Contenu",
      "date": "2021-01",
      "issuer": "OpenClassrooms",
      "url": ""
    },
    {
      "name": "Réalisez une étude de marché",
      "date": "2020-12",
      "issuer": "OpenClassrooms",
      "url": ""
    },
    {
      "name": "Améliorez l'impact de vos présentations",
      "date": "2020-12",
      "issuer": "OpenClassrooms",
      "url": ""
    }
  ],
  "skills": [
    {
      "name": "Machine Learning",
      "level": "Advanced",
      "keywords": ["PyTorch", "TensorFlow", "scikit-learn", "Random Forest", "Gradient Boosting", "SVM", "Clustering", "MLflow", "Cross-validation"]
    },
    {
      "name": "NLP / LLM / RAG",
      "level": "Advanced",
      "keywords": ["Hugging Face Transformers", "Transformers.js", "LangChain", "LlamaIndex", "OpenAI GPT-4", "Anthropic Claude", "Mistral", "Google Gemini", "Sentence-Transformers", "all-MiniLM-L6-v2", "BM25", "Cosine similarity", "pgvector", "FAISS", "Chroma", "Fine-tuning", "Prompt engineering", "Chain-of-thought", "Few-shot", "Whisper", "OPUS-MT"]
    },
    {
      "name": "Computer Vision",
      "level": "Advanced",
      "keywords": ["YOLO", "OpenCV", "MediaPipe", "TensorFlow.js", "ONNX Runtime", "BodyPix", "face-api", "SAM / SlimSAM", "MoveNet", "MobileNet", "Cityscapes", "U-Net", "EfficientNet+FPN", "MMsegmentation", "VLTSeg"]
    },
    {
      "name": "Data Engineering",
      "level": "Intermediate",
      "keywords": ["Azure Data Factory", "AWS S3", "AWS Glue", "PySpark", "Databricks", "SQL", "PostgreSQL", "SQLite", "Big Data", "Star schema", "Batch & streaming ingestion"]
    },
    {
      "name": "Backend / DevOps",
      "level": "Advanced",
      "keywords": ["Python", "FastAPI", "Flask", "Uvicorn", "SQLAlchemy", "Pydantic", "Docker", "Docker Compose", "GitHub Actions CI/CD", "OVH", "IONOS", "Scaleway"]
    },
    {
      "name": "Frontend",
      "level": "Advanced",
      "keywords": ["JavaScript vanilla (no framework)", "HTML5", "CSS3 avancé", "Canvas 2D", "Web Speech API", "Web Audio API", "Service Workers", "PWA", "Web Vitals"]
    },
    {
      "name": "RGPD / Numérique Responsable",
      "level": "Expert",
      "keywords": ["RGPD by design", "DPIA", "Minimisation", "Consent management", "Écoconception logicielle", "GreenIT", "Sustainable Web Design v4", "AI Act (EU 2024/1689)", "Explicabilité", "Biais", "Sobriété numérique"]
    }
  ],
  "languages": [
    { "language": "Français", "fluency": "Native speaker" },
    { "language": "Anglais", "fluency": "Professional working proficiency" }
  ],
  "projects": [
    {
      "name": "VISION Studio",
      "description": "Computer vision studio 100 % local (TensorFlow.js + ONNX + MediaPipe) empilant 11 modes d'analyse : détection objets, visages, poses, scènes, mains, silhouette, OCR, style transfer, anonymisation, comparaison A/B.",
      "url": "https://kevinroualec.fr/jeux/vision/index.html",
      "highlights": ["Zéro backend", "Conforme RGPD", "3 runtimes en parallèle"],
      "keywords": ["Computer Vision", "TensorFlow.js", "ONNX", "MediaPipe", "RGPD"]
    },
    {
      "name": "SIGN — LSF + traduction vocale",
      "description": "Reconnaissance temps réel des 26 lettres de la Langue des Signes Française via MediaPipe Hands + classifieur règles-métier sur 21 keypoints. Traduction vocale FR-EN via Whisper-tiny (STT) + OPUS-MT + Web Speech API (TTS).",
      "url": "https://kevinroualec.fr/jeux/sign/index.html",
      "highlights": ["100 % browser", "Zéro serveur"],
      "keywords": ["LSF", "MediaPipe", "Whisper", "OPUS-MT", "Accessibilité"]
    },
    {
      "name": "MATCH offre ↔ CV",
      "description": "Outil de matching sémantique local entre une fiche de poste et un CV. Embeddings Transformers.js sur all-MiniLM-L6-v2, cache localStorage, cosine similarity sur 384 dimensions. Support upload PDF via pdf.js.",
      "url": "https://kevinroualec.fr/match.html",
      "highlights": ["Démo publique RAG", "Zéro serveur"],
      "keywords": ["RAG", "Embeddings", "Transformers.js", "Semantic search"]
    },
    {
      "name": "RAG-PDF — Chat sur PDF",
      "description": "Pipeline RAG in-browser complet : extraction texte pdf.js, chunking sémantique par phrases, embeddings all-MiniLM-L6-v2, recherche hybride BM25 + cosine avec boost tokens rares, réponse extractive avec highlight, thumbnails PDF live.",
      "url": "https://kevinroualec.fr/jeux/rag-pdf/index.html",
      "highlights": ["Zéro API externe", "Hybride BM25 + cosine"],
      "keywords": ["RAG", "pdf.js", "Hybrid search", "Extractive QA"]
    },
    {
      "name": "SAM — Segment Anything interactif",
      "description": "Démo SlimSAM en local via Transformers.js + ONNX Runtime Web. Segmentation interactive par point ou box, auto-segmentation multi-masques, WebGPU/WASM fallback, backend switch, historique d'actions undo/redo.",
      "url": "https://kevinroualec.fr/jeux/sam/index.html",
      "highlights": ["WebGPU", "SlimSAM quantized", "Interactif"],
      "keywords": ["Segmentation", "SlimSAM", "ONNX", "WebGPU"]
    },
    {
      "name": "DEEPFAKE Detector + guide victimes",
      "description": "Détection deepfake in-browser (Deep-Fake-Detector-v2). 20+ features : analyse spectrale FFT, détection copy-move, blur/edge, MSE régions faciales, occlusion sensitivity, chain-of-custody Ed25519. Guide victimes FR+EN avec ressources sourcées (Pharos, 3018, associations).",
      "url": "https://kevinroualec.fr/jeux/deepfake/index.html",
      "highlights": ["20+ features analyse", "Guide victimes bilingue", "Cadenas Ed25519"],
      "keywords": ["Deepfake", "Sécurité", "AI safety", "Cybersécurité"]
    },
    {
      "name": "PROMPT — Jeu de prompt engineering",
      "description": "16 défis couvrant les 6 patterns essentiels du prompt engineering. Évaluateur heuristique local (mots-clés attendus, format, structure, longueur, délimiteurs, rôle). Score sur 100 avec feedback détaillé.",
      "url": "https://kevinroualec.fr/jeux/prompt/index.html",
      "highlights": ["16 défis", "Évaluateur local"],
      "keywords": ["Prompt engineering", "Pédagogie", "LLM"]
    },
    {
      "name": "ADAPT — Plateformer adaptatif",
      "description": "Plateformer 2D 16 niveaux, chaque module généré à partir d'une seed déterministe pondérée par le style de jeu du joueur (profil 5D : aérien, terrestre, agressif, prudent, casse-cou). 26 chunks, 6 power-ups temporaires, HAL narrateur.",
      "url": "https://kevinroualec.fr/jeux/platformer-adapt/index.html",
      "highlights": ["PCG adaptative", "Profilage comportemental", "Narration HAL"],
      "keywords": ["Procedural generation", "Behavioural profiling", "Game AI"]
    },
    {
      "name": "Page Écoconception + calculateur carbone SWD v4",
      "description": "Calculateur carbone interactif méthodologie Sustainable Web Design v4. Mesures live Performance API : poids transféré, requêtes, note SWD (A+ à F). 14 best practices documentées.",
      "url": "https://kevinroualec.fr/ecoconception.html",
      "highlights": ["SWD v4", "Mesures live", "14 best practices"],
      "keywords": ["Écoconception", "GreenIT", "Sustainability", "Performance"]
    },
    {
      "name": "Segmentation sémantique Cityscapes (voiture autonome)",
      "description": "Preuve de concept segmentation embarquée : U-Net, UNet+ResNet, EfficientNet+FPN. Fonctions de perte combinées (Cross-Entropy, Dice, Focal Loss). Benchmark MMsegmentation vs VLTSeg (VLTSeg retenu).",
      "url": "https://kevinroualec.fr/projets.html",
      "highlights": ["VLTSeg vs MMsegmentation", "Fonctions de perte combinées"],
      "keywords": ["Semantic segmentation", "Autonomous driving", "U-Net"]
    }
  ],
  "interests": [
    { "name": "Numérique responsable", "keywords": ["Écoconception", "GreenIT", "Sobriété numérique"] },
    { "name": "IA responsable", "keywords": ["AI Act", "RGPD", "Explicabilité", "Biais"] },
    { "name": "Langue des Signes Française", "keywords": ["Accessibilité", "LSF"] },
    { "name": "Game design", "keywords": ["Procedural generation", "Game AI"] }
  ],
  "references": [],
  "availability": {
    "status": "Actively looking",
    "since": "2026-05-30",
    "contractTypes": ["CDI", "CDD", "Freelance"],
    "workMode": ["Remote", "Hybrid"],
    "location": "Normandie · France",
    "note": "Ouvert aux missions IA (RAG, NLP, CV), Data Engineering et audit numérique responsable."
  }
}
