User Research Suite — Automatiser les tâches répétitives de l'UX research avec l'IA
Conception et développement d'un outil SaaS complet, de la page blanche à la mise en production — protocoles d'études générés par IA, briefs stakeholders en slides, exports Word/PDF/PowerPoint. Propulsé par Claude AI, déployé sur Vercel.
- Rôle
- Concepteur & Développeur
- Durée
- 6 jours
- Outils
- Next.js · Anthropic API · Supabase · Stripe · Vercel
- Production
- uxresearchsuite.com

Contexte
Le UX research génère beaucoup de documentation répétitive : guides animateurs, screeners, briefs de cadrage, rapports d'insights. Ces livrables suivent des structures connues, mais leur rédaction mobilise plusieurs heures par étude — du temps soustrait au travail de terrain.
L'idée : si les structures sont prévisibles, l'IA peut les générer. Un prompt système par type d'étude, un schéma JSON attendu, un streaming pour l'UX de génération — et le chercheur récupère un livrable structuré, exportable, en moins de 30 secondes.
Ce projet est né d'un besoin personnel pendant ma pratique chez RAJA, et s'est transformé en un vrai produit SaaS avec authentification, paiements et projets sauvegardés.
Ce que fait l'outil
Générateur de protocole
DisponibleDécris le contexte, choisis le type d'étude. L'IA génère un protocole complet : guide animateur rédigé, tâches et scénarios, questions et tips d'observation. Export Word et PDF en un clic.
Brief Builder
DisponibleUne fois le protocole généré, crée le brief stakeholders sans quitter la page. Claude génère 9 slides HTML avec styles inline, visualisables dans un viewer 16:9. Export PowerPoint et PDF. Inclus dans le même crédit.
Analyseur de résultats
En coursImport de données brutes (CSV Maze/UserTesting/Typeform, verbatims, notes). Rapport d'insights structuré avec recommandations prioritisées. Export Excel et Word.


Démarche
Identification des use cases
Analyse des tâches répétitives du research : rédaction de protocoles, préparation de briefs, synthèse de données. Définition de 3 cas d'usage prioritaires avec leur schéma JSON de sortie attendu (structure du protocole, structure du brief, structure du rapport).
Prompt engineering
Un prompt système distinct par type d'étude, avec le schéma JSON attendu intégré. Phase de réflexion interne (<reflexion>) + phase de génération (<brief>) pour le Brief Builder. Prompts adaptatifs : distinction modéré/non-modéré, 3 sous-designs pour le test non-modéré (monadic, A/B, benchmark).
Architecture et développement
API routes Next.js avec streaming obligatoire (ReadableStream + Anthropic SDK) pour éviter les timeouts Vercel. Auth Supabase + RLS pour isoler les données par utilisateur. Webhook Stripe pour créditer les comptes. Exporters server-side uniquement (docx, pptxgenjs, @react-pdf/renderer ne fonctionnent pas côté navigateur).
Mise en production
6 sprints du MVP aux fonctionnalités avancées : protocoles multi-types, brief builder avec viewer slides, système de projets sauvegardés, auth complète, paiements Stripe, pages légales RGPD, analytics Vercel. Déploiement continu sur Vercel.

Décisions techniques clés
Streaming obligatoire
Toutes les routes API utilisent ReadableStream avec l'Anthropic SDK. Sans streaming, les générations de 10–15 secondes déclenchent les timeouts Vercel (10s en prod). Le client reçoit les tokens en temps réel et affiche une progression par étapes.
JSON structuré contraint
Claude répond toujours avec du JSON valide, jamais en markdown libre. Le schéma attendu est intégré dans le prompt système — un schéma distinct par type d'étude. L'union discriminée sur <code/> gère les 3 sous-designs du test non-modéré (monadic | A/B | benchmark) dans le même endpoint.
Exporters server-side uniquement
docx, pptxgenjs et @react-pdf/renderer ne sont pas compatibles browser. Ils s'exécutent exclusivement dans les API routes. Le résultat est renvoyé au client sous forme de Uint8Array (Buffer → Uint8Array obligatoire en Next.js 16).
Crédits atomiques
La déduction de crédit est une fonction SQL atomique côté Supabase (<deductCode/>). Elle s'exécute après la génération réussie — jamais avant — pour éviter de facturer une génération ratée. Le webhook Stripe utilise <addCode/>, aussi atomique.

Ce que j'ai appris
- Le prompt engineering pour du JSON structuré est un métier à part entière. Contraindre Claude à respecter un schéma de 20+ champs sans hallucination a nécessité plusieurs itérations par type d'étude — notamment pour les unions discriminées (test non-modéré A/B vs benchmark).
- Le streaming change complètement l'UX d'un outil IA. Afficher les tokens au fur et à mesure transforme une attente anxiogène de 15 secondes en une expérience de génération rassurante. Les stages de progression détectés dans le buffer (marqueurs JSON) rendent l'interface dynamique sans JavaScript complexe.
- Construire un SaaS seul en 6 semaines est faisable avec les bons outils. Supabase (auth + BDD + RLS), Stripe Checkout hosted et Vercel ont éliminé la majorité de la plomberie. Claude Code a accéléré le développement de 40% sur les parties répétitives (exporters, prompts, composants de preview).
- Les exporters sont le vrai goulot d'étranglement. Générer un PPTX fidèle à partir de HTML inline-styles (produit par Claude) nécessite une fonction htmlToLines() qui extrait le texte et le remet en forme dans pptxgenjs. Le PDF A4 avec @react-pdf/renderer est plus stable mais moins flexible.
Résultat
Un outil en production, utilisable par n'importe quel UX researcher. 5 crédits offerts à l'inscription permettent de générer 5 protocoles complets — sans carte bancaire. La génération d'un guide animateur pour un test modéré (tâches, scénarios, probe questions, post-task questions) prend moins de 30 secondes là où la rédaction manuelle prend 2 à 3 heures.
- < 30s
- par génération
- 5 types
- d'études supportés
- 3 formats
- d'export
- 6 jours
- de A à Z
Travaillons ensemble
Cette étude de cas vous a intéressé ? Discutons de ce que la recherche utilisateur peut apporter à votre produit.