Choisir et cadrer l’idée
Le capstone n’est pas un exercice. C’est un produit que tu vas déployer, montrer et utiliser comme preuve de compétence. Le choix du projet détermine tout : faisabilité, impact, crédibilité.
Trois tracks selon ton objectif professionnel.
Track Emploi
Cloner une app IA connue avec ta propre stack pour montrer la maîtrise de l’état de l’art.
Exemples : Perplexity lite (search + RAG + citations), Notion AI (écriture assistée contextuelle), GitHub Copilot pour un domaine précis (génération de code spécialisé).
L’objectif n’est pas de concurrencer le produit original. C’est de prouver que tu comprends l’architecture derrière et que tu sais la reconstruire.
Track Freelance
Outil IA pour une niche professionnelle avec un pain point identifiable.
Exemples concrets :
- Cabinet d’avocats — Analyse automatique de contrats, extraction de clauses à risque, comparaison avec des templates standards.
- Agence immobilière — Rédaction d’annonces à partir de fiches techniques, adaptation du ton selon la plateforme de diffusion.
- RH — Screening de CVs par rapport à une fiche de poste, scoring et résumé des profils pertinents.
- E-commerce — Génération de fiches produits à partir de photos et spécifications techniques, optimisation SEO automatique.
Pain point réel = pitch facile. Si tu peux expliquer le problème en une phrase à quelqu’un qui ne connaît pas le métier, tu tiens un bon projet.
Track SaaS
Micro-produit sur un problème que tu connais personnellement. Pas besoin d’être rentable dès le départ. Besoin d’être déployé et utilisable par de vraies personnes.
La contrainte “de vraies personnes” change tout. Elle force à gérer l’auth, les erreurs, les cas limites, les coûts — exactement ce qu’on attend d’un développeur IA en entreprise.
Critères de validation
Les quatre critères sont obligatoires. Si un seul manque, change de projet.
- Faisable seul en 7 jours ? Pas 7 jours à temps plein idéalisé. 7 jours réels avec les imprévus, les bugs et la fatigue.
- RAG ou Agent (ou les deux) suffit ? Si le projet nécessite du fine-tuning, de l’entraînement custom ou des modèles spécialisés, c’est hors scope.
- Descriptible en une phrase ? Si tu ne peux pas expliquer ce que fait ton produit en une phrase, le scope est trop large.
- Au moins un utilisateur potentiel identifié ? Un collègue, un ami dans le métier ciblé, un contact LinkedIn. Quelqu’un qui va réellement tester.
| Critère | Track Emploi | Track Freelance | Track SaaS |
|---|---|---|---|
| Objectif | Décrocher un poste IA | Trouver des clients | Lancer un produit |
| Type de projet | Clone d’app connue | Outil de niche | Micro-SaaS personnel |
| Audience cible | Recruteurs techniques | Professionnels d’un secteur | Utilisateurs avec un pain point |
| Complexité | Moyenne — architecture connue | Moyenne — domaine à comprendre | Variable — dépend du scope |
Construction
Stack recommandée
Exemple JavaScript/TypeScript — adaptable à Python ou autre selon tes préférences.
- Frontend : Next.js 15 App Router + Tailwind + shadcn/ui. App Router pour le streaming natif des Server Components. shadcn/ui pour des composants accessibles sans design system custom.
- Auth : Clerk ou NextAuth. Clerk pour aller vite avec des composants pré-faits. NextAuth pour plus de contrôle si tu connais déjà.
- Base de données : Supabase (Postgres + pgvector + storage). Une seule plateforme pour la base relationnelle, les embeddings vectoriels et le stockage de fichiers.
- LLM : Vercel AI SDK. Abstraction multi-provider (OpenAI, Anthropic, Google), streaming natif, hooks React (
useChat,useCompletion), support tool calling. - Déploiement : Vercel. Preview deploys automatiques sur chaque PR. Idéal pour itérer vite et montrer l’avancement.
Ordre de construction recommandé
L’ordre est volontaire et contre-intuitif.
J2 — Fondations Scaffold du projet, configuration auth, schéma de base de données. À la fin de la journée : un utilisateur peut se connecter et voir une page vide. Le schéma de base de données est en place avec les tables nécessaires (utilisateurs, documents, conversations, usage).
J3 — Pipeline IA core C’est la journée la plus importante. Le pipeline RAG ou Agent — la partie qui différencie ton produit d’un CRUD classique. Indexation des documents, chaîne de retrieval, orchestration d’agent. Teste avec des requêtes réelles, pas des exemples jouets.
J4 — Interface principale L’UI qui expose le pipeline. Chat, dashboard, formulaire — peu importe le format. L’interface doit être fonctionnelle, pas spectaculaire. Un utilisateur doit pouvoir comprendre quoi faire sans explication.
J5 — Polish et production-readiness Error handling, cas limites, messages d’erreur clairs, loading states, gestion des timeouts LLM. C’est la journée qui fait la différence entre un projet étudiant et un produit professionnel.
Observabilité et contrôle des coûts
Déployer un produit IA sans observabilité, c’est conduire de nuit sans phares. Les LLMs échouent silencieusement — ils retournent des réponses plausibles mais fausses, et personne ne s’en rend compte sans monitoring.
Outils essentiels
Helicone — Proxy transparent qui logge tous les appels LLM. Tu vois les coûts par utilisateur, par endpoint, par jour. Détection d’anomalies (pic de tokens, latence inhabituelle). Gratuit jusqu’à 100k requêtes/mois. Intégration en 2 lignes : changer le base URL de l’API OpenAI.
LangSmith — Plateforme de tracing pour chaînes et agents complets. Chaque étape d’un pipeline RAG ou d’une boucle d’agent est tracée avec ses inputs, outputs, latence et tokens. Tu peux rejouer des traces pour comprendre pourquoi un agent a pris une mauvaise décision ou pourquoi le retrieval a remonté des documents non pertinents.
Braintrust — Évaluation automatisée des outputs LLM. Tu définis un dataset de test (question + réponse attendue), tu lances des évaluations à chaque changement de prompt ou de modèle. Indispensable pour détecter les régressions avant que les utilisateurs ne les remarquent.
Budget guard
Sans contrôle des coûts, un seul utilisateur malveillant ou un bug de boucle peut générer une facture de plusieurs centaines d’euros en quelques heures. Le budget guard est non négociable en production.
async function checkAndConsumeQuota(userId: string, estimatedTokens: number) {
const today = new Date().toISOString().split('T')[0]
const usage = await db.query(
'SELECT total_tokens FROM usage WHERE user_id = $1 AND date = $2',
[userId, today]
)
const current = usage.rows[0]?.total_tokens ?? 0
if (current + estimatedTokens > MAX_DAILY_TOKENS) {
throw new Error('QUOTA_EXCEEDED')
}
await db.query(
`INSERT INTO usage (user_id, date, total_tokens) VALUES ($1, $2, $3)
ON CONFLICT (user_id, date) DO UPDATE SET total_tokens = usage.total_tokens + $3`,
[userId, today, estimatedTokens]
)
}
Ce pattern couvre les bases : quota journalier par utilisateur, upsert atomique, erreur explicite quand le quota est dépassé. En production, ajoute une marge de sécurité sur estimatedTokens — les tokens réels dépassent souvent l’estimation.
Comparatif des outils
| Outil | Ce qu’il fait | Pricing | Idéal pour |
|---|---|---|---|
| Helicone | Logging des appels LLM, coûts, latence, anomalies | Gratuit jusqu’à 100k req/mois, puis usage-based | Monitoring coûts et performance en production |
| LangSmith | Tracing complet des chaînes et agents, replay de traces | Gratuit (Developer), payant pour les équipes | Debug de pipelines RAG et agents complexes |
| Braintrust | Évaluation automatisée des outputs sur datasets de test | Gratuit pour commencer, pricing par évaluation | Détection de régressions après changement de prompt |
Déploiement, portfolio et pitch
Un produit qui tourne en local n’existe pas. Le déploiement transforme un exercice en preuve de compétence.
Checklist de déploiement
Chaque point est obligatoire avant de partager le lien.
- Domaine custom — Éviter les URLs
.vercel.apppour les démos clients. Un domaine en.devou.iocoûte moins de 15 euros par an et change la perception immédiatement. - Variables d’environnement sécurisées — Jamais de clé API dans le code. Utiliser le dashboard de la plateforme de déploiement. Vérifier que
.envest dans.gitignore. - Error boundary et pages d’erreur claires — Un utilisateur qui voit une stack trace perd confiance. Des messages d’erreur humains (“Le service est temporairement indisponible, réessayez dans quelques instants”) montrent le professionnalisme.
- Rate limiting côté serveur — Limiter le nombre de requêtes par utilisateur par minute. Sans ça, un script automatisé peut vider ton budget API en quelques minutes.
- HTTPS — Automatique sur la plupart des plateformes (Vercel, Cloudflare, Netlify). Vérifier quand même.
- Budget cap par utilisateur — Le budget guard vu dans la section précédente. Indispensable.
Structure du README
Le README est la première chose que lit un recruteur ou un client potentiel. Il doit répondre à toutes les questions en moins de 2 minutes.
- Problème résolu (1-2 phrases) — Quel pain point ce produit adresse, pour qui.
- Démo GIF ou lien live — Un GIF de 15 secondes montrant le flow principal. Le lien live en évidence.
- Architecture RAG/Agent (schéma simple) — Un diagramme montrant le flux de données : input utilisateur, retrieval, LLM, output. Pas besoin d’un diagramme UML complexe. Un schéma en blocs suffit.
- Stack technique avec justification des choix — Pas juste la liste des technos. Pourquoi Next.js et pas Remix. Pourquoi Supabase et pas Firebase. Les justifications montrent la maturité technique.
- Instructions d’installation locale — Clone, install, env vars, run. Testées sur une machine propre.
- Coûts estimés de fonctionnement — Combien coûte le projet par mois pour 10, 100, 1000 utilisateurs. Cette information est rare dans les README et impressionne systématiquement.
Case study LinkedIn (400-600 mots)
Le case study n’est pas un tutoriel. C’est un retour d’expérience professionnel structuré.
Structure recommandée :
- Problème rencontré — Contexte et pain point. Pourquoi ce problème mérite d’être résolu. Données concrètes si possible.
- Solution choisie — Ce que fait le produit, pour qui, comment. Une phrase de pitch.
- Architecture technique — Les choix structurants : modèle LLM, stratégie de chunking, type d’agent, base vectorielle. Schéma simplifié.
- Difficultés et arbitrages — Les problèmes rencontrés et comment tu les as résolus. Les compromis acceptés et pourquoi. C’est la partie qui différencie un junior d’un senior.
- Résultat et apprentissages — Métriques si disponibles (latence, coût par requête, satisfaction utilisateur). Ce que tu ferais différemment. Ce que tu as appris.
Pitch 30 secondes
Template à personnaliser et à répéter jusqu’à ce qu’il soit naturel :
“J’ai construit [PRODUIT] qui permet à [CIBLE] de [BENEFICE] sans [FRICTION ACTUELLE]. Le système utilise [RAG/Agent] connecté à [SOURCE DE DONNEES]. Stack : [TECHNOLOGIES CLES]. C’est déployé et utilisable maintenant.”
Ce pitch fonctionne en entretien, en networking, en message LinkedIn. La dernière phrase est la plus importante — elle te distingue de tous ceux qui parlent de projets qu’ils n’ont jamais déployés.
Livrable final
Quatre livrables obligatoires. Chacun a un rôle précis dans ta crédibilité professionnelle.
- URL live fonctionnelle — Le produit tourne, un utilisateur peut s’inscrire et l’utiliser. C’est la preuve ultime.
- Repo GitHub public avec README complet — Le code est propre, documenté, et le README suit la structure décrite ci-dessus.
- Post LinkedIn avec case study — Un retour d’expérience professionnel de 400-600 mots qui montre ta capacité d’analyse et de recul.
- Pitch de 30 secondes rodé — Testé à voix haute, naturel, mémorable. Prêt pour un entretien ou une conversation networking.
Récapitulatif de la formation
| Module | Durée | Compétence clé | Livrable | Signal marché |
|---|---|---|---|---|
| M1 — LLM API | 5-7 j | Appels API, streaming, prompt engineering | LLM Playground | Requis partout |
| M2 — RAG | 10-12 j | Embeddings, vector DB, pipeline complet | Chatbot sur docs | Cas d’usage #1 entreprises |
| M3 — Agents | 8-10 j | Tool calling, ReAct, orchestration | Agent web search | Profil rare, très demandé |
| M4 — Capstone | 7-10 j | Produit complet en production | Projet personnel | Portfolio = preuve |
La durée totale de la formation est de 30 à 39 jours. A la fin, tu as quatre projets déployés, un portfolio IA solide et les compétences pour construire des produits IA en entreprise, en freelance ou pour toi-même.