01
Contexte et problème
Les étudiants en germanistique des universités ivoiriennes travaillent sur des cours denses, rédigés en allemand. Les outils d'IA généralistes répondent souvent à côté de leur programme, ou dans un niveau de langue trop éloigné de leurs documents.
La question de départ : comment aider un étudiant à mieux comprendre son propre cours, plutôt qu'un sujet en général ?
02
Mon rôle
J'ai porté le projet seule, de la recherche à la mise en ligne : définition du produit, maquettes, développement complet, déploiement et suivi des premiers testeurs.
- 01Définition du produit
- 02Design de 41 écrans
- 03Développement full-stack
- 04Déploiement et bêta
03
Démarche
Un principe a guidé toutes les décisions : partir du document, sans s'y enfermer. L'IA reste fidèle au cours de l'étudiant, et signale clairement quand elle apporte une explication qui va au-delà.
Le résumé est rédigé dans la langue du document, avec les mots difficiles traduits en français. Les thèmes du cours deviennent cliquables pour approfondir chaque notion.



04
Choix techniques
Chaque choix répond à une contrainte précise.
- SvelteKit
- TypeScript
- Tailwind CSS
- Drizzle ORM
- Cloudflare
- Claude API
- Better Auth
01Clean Architecture
Domaine, application, infrastructure et présentation séparés, pour faire évoluer le produit sans tout réécrire.
02Cloudflare D1 et R2
Base de données et stockage des documents au plus près de l'application, sur la même plateforme.
03Connexion sans mot de passe
Un code à usage unique envoyé par email : rien à retenir pour l'étudiant, aucun mot de passe à protéger.
04Historique de conversation
Transmis à l'IA à chaque échange, pour que les exercices restent cohérents d'une question à l'autre.
05
Résultats
Le produit est passé de l'idée à une bêta utilisée par de vrais étudiants.
- inscrits en 24 h sur la liste d'attente
- 110
- écrans conçus avant le développement
- 41
- sprints livrés
- 5
- testeurs en bêta
- 10 à 15
06
Ce que j'ai appris
Une IA a besoin de contexte : sans l'historique de la conversation, les exercices finissaient par se contredire. Lui donner la mémoire de l'échange a réglé le problème.
Choisir ses outils selon l'environnement d'exécution dès le départ : sur Cloudflare, j'ai remplacé des bibliothèques pensées pour Node.js par l'API Web Crypto native et par unpdf pour lire les PDF.




