Contact
Travaillons ensemble
AI Chat Export

AI Chat Export

Extension de navigateur multi-plateforme exportant les conversations de chatbots IA en Markdown structure - 8 plateformes supportées, publiée sur le Chrome Web Store, 20 releases livrées en 2 mois.

Janvier 2026 - Mars 2026
2 mois
Développeur unique & Product Owner
TypeScript 5.9React 19Vite 6Tailwind CSS 4Manifest V3Chrome Extensions APIGitHub ActionsVitestPlaywrightTerserjavascript-obfuscatorrelease-itJSZiphtml2canvas

Lignes source

20,734

TypeScript + React

Plateformes

8

Chatbots IA supportes

Releases

20

En 2 mois

Commits

84

Par un seul contributeur

Présentation du projet

Ce qu'est AI Chat Export et pourquoi il existe

AI Chat Export est une extension de navigateur (Chrome, Firefox, Edge, Brave, Opera) qui exporté les conversations des principaux chatbots IA en Markdown propre et bien structuré. Elle répond à une frustration concrète et répandue : les boutons natifs de copie et d'export intégrés à ChatGPT, Gemini, Claude et autres interfaces IA perdent systématiquement le formatage, suppriment les hyperliens, omettent les citations et n'offrent aucun contrôle sur le contenu exporté.

L'extension se situe à l'intersection des outils de productivité pour développeurs et de l'écosystème des assistants IA. Elle cible la population en forte croissance d'utilisateurs réguliers de chatbots IA - développeurs, chercheurs, étudiants, redacteurs techniques - qui ont besoin d'archiver, partager ou reutiliser leurs conversations en dehors de l'interface du chatbot. Elle est distribuee via le Chrome Web Store et les GitHub Releases.

Plateformes supportées

ChatGPT

Deep Research, Canvas, React Fiber

Actif

Gemini

Deep Research, iframes, charts

Actif

Claude

Artifacts, async extraction

Actif

Perplexity

Citations, docs, Python scripts

Actif

Grok

DeepSearch, citation expansion

Actif

Mistral

HTML to Markdown

Actif

Copilot

Planned

Prévu

DeepSeek

Planned

Prévu
Fonctionnalités clés
Export Markdown complet avec preservation de tous les liens et du formatage
Copie en un clic dans le presse-papiers ou téléchargement en fichier
Export multi-onglets avec comparaison, fusion et vérification des faits
YAML Front Matter compatible Jekyll, Hugo, Obsidian
Extraction dynamique des liens JavaScript et récupération des titrès de pages
Decoupage intelligent pour les longues conversations

Objectifs, contexte et risques

La vision stratégique du projet

Le projet était guide par cinq objectifs clairs et mesurables :

Fidelite d'export

100%

Capturer tout le contenu incluant liens dynamiques, citations, artefacts

Couverture

6+ chatbots

Principales plateformes IA du marche

Navigateurs

5 navigateurs

Chrome, Firefox, Edge, Brave, Opera

Objectif UX

1 clic

Copier ou télécharger en une seule action

CI/CD

Automatise

Pipeline complet jusqu'àu Chrome Web Store

Contexte

Il s'agissait d'un projet personnel initie en janvier 2026 et développé entièrement par Jose DA COSTA en tant que développeur unique. Le depot est prive sur GitHub avec une licence propriétaire et une obfuscation du code en production. Le marché des outils d'export pour chatbots IA est emergent mais deja concurrentiel, faisant de la rapidite de mise sur le marché et de la qualité d'extraction les principaux differenciateurs.

Enjeux

Au-dela de l'exercice technique, le projet comportait de veritables enjeux business : positionnement rapide sur le marche dans une niche emergente, conformité Chrome Web Store (l'extension a deja été rejetee une fois pour keyword stuffing), et maintenance continue face à des structures DOM de chatbots en constante évolution. La nature propriétaire du code exigeait egalement une protection robuste de la propriété intellectuelle via une obfuscation multi-couches.

Risques identifies

Changements DOM des plateformes IA

Les chatbots mettent frequemment à jour leur interface, cassant les extracteurs. Attenue par l'architecture modulaire et les tests E2E.

Rejet du Chrome Web Store

Les guidelines strictes de Google ont deja cause un rejet. Regles de conformité documentées et intégrées au processus de développement.

Protection anti-bot (Cloudflare)

ChatGPT utilisé une protection anti-bot agressive, empechant les tests automatisés Playwright sur cette plateforme.

Dépendance à un seul développeur

Un seul mainteneur créé un risque de facteur bus. Attenue par une documentation exhaustive (CLAUDE.md de 23K mots).

Reverse engineering du code

Les extensions de navigateur exposent le code source. Protege avec Terser + javascript-obfuscator multi-passes.

Phases de réalisation

Un parcours chronologique de ce qui a été construit et comment

Phase 1
Fondation
21-22 janv. 2026
  • Mise en place de l'architecture complète de l'extension Manifest V3 (popup, service worker, content scripts)
  • Implémentation des extracteurs pour ChatGPT, Gemini et Grok avec le pattern Strategy et AbstractExtractor
  • Construction du pipeline CI/CD complet avec GitHub Actions (5 jobs paralleles : lint, typécheck, test, sécurité, build)
  • Configuration du pipeline de release automatisé avec release-it, conventional commits et SemVer
  • Publication de la première version sur le Chrome Web Store des le premier jour
  • Ajout de Terser + javascript-obfuscator pour la protection du code (minification en 3 passes)
Phase 2
Expansion des plateformes
22-23 janv. 2026
  • Ajout du support Grok avec expansion des liens DeepSearch et conversion HTML vers Markdown
  • Ajout du support de la plateforme Claude avec extraction de contenu asynchrone
  • Renforcement de la type safety dans tout le code (TypeScript strict, aucun any explicite)
  • Amélioration de la gestion d'erreurs et de la récupération pour les structures DOM instables
Phase 3
Enrichissement fonctionnel
Février 2026
  • Implémentation du format de liens Markdown avec récupération automatique des titrès de pages
  • Construction du système de téléchargement fractionne pour les conversations depassant les limités du navigateur
  • Amélioration de l'extracteur Perplexity : citations groupees, docs generees, extraction de scripts Python
  • Améliorations UI et corrections de bugs sur toutes les plateformes supportées
Phase 4
Fonctionnalités avancees
Mars 2026
  • Extraction des artefacts Claude avec chargement de contenu asynchrone
  • Extraction de ChatGPT Canvas/Textdoc via l'API clipboard
  • Export multi-onglets : sélection de plusieurs onglets pour export batch avec actions de comparaison, fusion et fact-checking
  • Citations Deep Research resolues en liens Markdown inline (ChatGPT + Gemini)
  • Open-and-paste pour le cross-referencing entre différents chatbots IA (pattern council prompt)
  • Plugin hot-reload Vite pour une iteration de développement plus rapide
Velocite des releases
Activité mensuelle des commits

Acteurs et interactions

L'écosystème humain et technique autour du projet

En tant que projet solo, AI Chat Export a été développé entièrement par Jose DA COSTA, qui a cumulé tous les rôles simultanément : product owner, architecte, développeur, designer, ingenieur DevOps et éditeur. Cela a nécessité une approche disciplinee de l'auto-organisation et de la prise de décision.

A partir de mars 2026, Claude Code (Claude Opus 4.6) a été introduit comme assistant de pair-programming pour accelerer le développement des fonctionnalités avancees. La collaboration était structuree et delibérée - Claude Code operait dans le cadre de guidelines documentés strictes (CLAUDE.md de 23K mots) et toutes les décisions architecturales restaient du ressort de Jose DA COSTA.

Répartition des contributions au code
Distribution des types de commits
Métriques de contribution
MétriqueJose DA COSTA (solo)+ Claude CodeTotal
Commits67 (79.8%)17 (20.2%)84
Lignes ajoutees47,281 (89.2%)5,732 (10.8%)53,013
Lignes supprimees4,367 (56.5%)3,357 (43.5%)7,724
Total lignes modifiees51,648 (85.0%)9,089 (15.0%)60,737

Dépendances externes

Le projet a interagi avec plusieurs services externes : Chrome Web Store (distribution principale), GitHub Actions (CI/CD), GitHub Releases (hébergement des artefacts), Firefox Add-ons (AMO), Edge Add-ons et Google Cloud Console (OAuth pour l'API Chrome Web Store). Chaque store a ses propres processus de revue, politiques et contraintes de soumission qu'il a fallu naviguer avec soin.

Résultats

Résultats mesurables pour moi et pour le produit

Pour le produit

Envergure technique

Releases

20

v1.0.0 a v1.13.1

Assertions de test

403

14 fichiers de tests

Dépendances (prod)

9

Bundle de production leger

Plateformes actives

6

+ 2 prévues

Jobs CI/CD

5 parallel

lint, type, test, sécurité, build

Artefacts/Release

7

Chrome, Firefox, Edge, Brave, Opera

Complexité des extracteurs par plateforme

Pour moi

Ce projet a considérablement approfondi mon expertise dans plusieurs domaines :

  • Architecture d'extension de navigateur (Manifest V3) - maîtrise du cycle de vie complet : content scripts, background service workers, popup UI, Chrome Storage API, messaging inter-processus et gestion d'iframes cross-origin
  • Parsing DOM a grande échelle - développement de stratégies d'extraction robustes utilisant selecteurs CSS, MutationObserver, traversee de l'arbre React Fiber et patterns de chargement de contenu asynchrone
  • Publication multi-stores - navigation dans les processus de soumission, revue et conformité du Chrome Web Store, Firefox AMO et Edge Add-ons
  • Protection du code - implémentation d'un pipeline d'obfuscation de niveau production combinant Terser (3 passes) et javascript-obfuscator avec melange de tableaux de chaines
  • Développement assisté par IA - etablissement d'une méthodologie structuree pour le pair-programming avec Claude Code, incluant une documentation de guidelines de 23K mots servant à la fois de référence pour l'IA et pour les humains
  • Iteration rapide - validation que l'investissement dans le CI/CD des le premier jour permet une velocite soutenue (20 releases en 2 mois sans friction)

Les lendemains du projet

Le projet au-dela de la livraison initiale

Suite immédiate

Après la release v1.13.1 en mars 2026, l'extension était disponible sur le Chrome Web Store et installable directement via GitHub Releases pour Firefox, Edge, Brave et Opera. Le pipeline de release automatisé garantissait que chaque version taguee était automatiquement construite, packagee et publiée sur tous les canaux supportes.

Maintenance continue

Les interfaces des chatbots IA sont des cibles inhéremment instables. ChatGPT, Gemini, Claude et les autres mettent régulièrement à jour leur structure DOM sans préavis. Chaque mise à jour peut potentiellement casser l'extracteur correspondant. L'architecture modulaire (un extracteur par plateforme, héritant d'AbstractExtractor) a été explicitement conçue pour minimiser le rayon d'impact de tels changements - quand Gemini modifie son DOM, seul l'extracteur Gemini doit être mis à jour.

État actuel

Le projet est en production active sur le Chrome Web Store et continue d'être développé. Deux plateformes supplémentaires (Copilot, DeepSeek) sont prévues. Le code reste sous licence propriétaire avec protection complète du code source. L'infrastructure de documentation - incluant le CLAUDE.md de 23K mots - sert de modèle pour les workflows de développement assisté par IA et a été reutilisée dans d'autres projets.

Regard critique

Rétrospective honnete sur les décisions et les leçons apprises

Ce qui a bien fonctionne
  • Velocite exceptionnelle : 20 releases en 2 mois avec un produit fonctionnel sur le Chrome Web Store des le premier jour. L'investissement immédiat en CI/CD a massivement paye.
  • Architecture modulaire : le pattern Strategy avec AbstractExtractor permet d'ajouter une nouvelle plateforme en ecrivant une seule classe d'extracteur sans toucher au code existant.
  • Discipline de qualité de code : TypeScript strict mode, ESLint strictTypeChecked, conventional commits, 403 assertions de test, zero TODO/FIXME dans le code de production.
  • Documentation orientée IA : le CLAUDE.md de 23K mots a inaugure une approche de documentation qui sert simultanément les développeurs humains et les assistants IA.
  • Pipeline CI/CD complet : du commit au Chrome Web Store - entièrement automatise. Les rejets de store documentés et integres dans le processus.
Ce qui pourrait être ameliore
  • Fragilite DOM : l'extraction repose sur le parsing des DOM des chatbots, qui peuvent changer sans préavis. Un système de monitoring automatique des changements de structure reduirait le temps de reaction.
  • Couverture E2E limitée : la protection Cloudflare de ChatGPT bloqué les navigateurs automatises, rendant les tests de bout en bout complets impossibles pour la plateforme la plus critique.
  • Point de défaillance unique : malgre 23K mots de documentation, le projet depend d'un seul développeur pour toutes les décisions et la maintenance.
  • Complexité de l'extracteur Gemini : 4 821 lignes reparties sur 12 fichiers gerant iframes, charts, Deep Research et carousel de sources. Ce module bénéficierait d'une decomposition supplémentaire.
  • Moteur générique HTML-to-Markdown : plutôt que des extracteurs spécifiques par plateforme, un convertisseur HTML-to-Markdown configurable adapte aux contextes de chatbots pourrait réduire la duplication de code.

Leçons durables

  1. L'automatisation paye des le premier jour - la mise en place du CI/CD, des conventional commits et des releases automatisées a immédiatement permis 20 releases sans friction en 2 mois.
  2. Documenter pour l'IA, c'est documenter pour l'humain - les guidelines Claude Code de 23K mots servent egalement de documentation architecturale complete.
  3. Les DOM SaaS sont des contrats instables - baser un produit sur le parsing DOM de tiers nécessité une conception modulaire et une capacité d'adaptation rapide.
  4. La protection de la PI demande un effort delibere - dans l'écosystème des extensions de navigateur, le code est inhéremment expose. L'obfuscation, la minification et l'absence de source maps sont des defenses nécessaires mais imparfaites.

Architecture

Architecture de l'extension (Manifest V3)
Architecture de l'extension : Popup, Background Service Worker, Content Scripts par plateforme et Extracteurs partages
Pipeline CI/CD & Release
Workflow de développement à travers le CI/CD jusqu'à la publication multi-stores

Parcours associe

Experience professionnelle liee a cette realisation

Competences mobilisees

Competences techniques et humaines appliquees

Galerie d'images

Captures et visuels du projet

Popup de l'extension montrant l'export de conversation
Export en un clic depuis le popup de l'extension
Extension navigateur exportant une conversation
Export complet de conversation en Markdown structure
Support de plusieurs plateformes IA
8 plateformes de chatbot IA supportées
Détection de site non supporte
Détection automatique des sites non supportes
Apercu de la sortie Markdown
Sortie Markdown propre et structuree
Banniere promotionnelle AI Chat Export
Banniere promotionnelle Chrome Web Store
Grande banniere promotionnelle AI Chat Export
Grande banniere promotionnelle pour la fiche du store
Popup sur site non supporte
Popup de l'extension affichant le message de site non supporte