
AI Chat Export
Extensao de navegador multiplataforma que exporta conversas de chatbots de IA para Markdown estruturado - 8 plataformas suportadas, publicada na Chrome Web Store, 20 releases entregues em 2 meses.
Linhas de codigo
20,734
TypeScript + React
Plataformas
8
Chatbots de IA suportados
Releases
20
Em 2 meses
Commits
84
Por um unico contribuidor
Apresentacao do projeto
O que e o AI Chat Export e por que ele existe
AI Chat Export e uma extensao de navegador (Chrome, Firefox, Edge, Brave, Opera) que exporta conversas dos principais chatbots de IA para Markdown limpo e bem estruturado. Ela resolve uma frustracao concreta e generalizada: os botoes nativos de copia e exportacao integrados ao ChatGPT, Gemini, Claude e outras interfaces de IA perdem sistematicamente a formatacao, removem hiperlinks, omitem citacoes e nao oferecem controle sobre o conteudo exportado.
A extensao se situa na interseccao entre ferramentas de produtividade para desenvolvedores e o ecossistema de assistentes de IA. Ela e voltada para a populacao em rapido crescimento de usuarios regulares de chatbots de IA - desenvolvedores, pesquisadores, estudantes, redatores tecnicos - que precisam arquivar, compartilhar ou reutilizar suas conversas fora da interface do chatbot. E distribuida pela Chrome Web Store e pelos GitHub Releases.
ChatGPT
Deep Research, Canvas, React Fiber
Gemini
Deep Research, iframes, charts
Claude
Artifacts, async extraction
Perplexity
Citations, docs, Python scripts
Grok
DeepSearch, citation expansion
Mistral
HTML to Markdown
Copilot
Planned
DeepSeek
Planned
Objetivos, contexto e riscos
A visao estrategica por tras do projeto
O projeto foi guiado por cinco objetivos claros e mensuraveis:
Fidelidade de exportacao
100%
Capturar todo o conteudo incluindo links dinamicos, citacoes, artefatos
Cobertura
6+ chatbots
Principais plataformas de IA do mercado
Navegadores
5 navegadores
Chrome, Firefox, Edge, Brave, Opera
Objetivo UX
1 clique
Copiar ou baixar em uma unica acao
CI/CD
Automatizado
Pipeline completo ate a Chrome Web Store
Contexto
Tratava-se de um projeto pessoal iniciado em janeiro de 2026 e desenvolvido inteiramente por Jose DA COSTA como desenvolvedor unico. O repositorio e privado no GitHub com licenca proprietaria e ofuscacao do codigo em producao. O mercado de ferramentas de exportacao para chatbots de IA e emergente, mas ja competitivo, tornando a velocidade de lancamento e a qualidade da extracao os principais diferenciais.
Desafios
Alem de um exercicio tecnico, o projeto carregava desafios de negocio reais: posicionamento rapido no mercado em um nicho emergente, conformidade com a Chrome Web Store (a extensao ja foi rejeitada uma vez por keyword stuffing), e manutencao continua contra estruturas DOM de chatbots em constante evolucao. A natureza proprietaria do codigo tambem exigia protecao robusta da propriedade intelectual atraves de ofuscacao multicamadas.
Mudancas de DOM das plataformas de IA
Os chatbots atualizam frequentemente sua interface, quebrando os extratores. Mitigado pela arquitetura modular e testes E2E.
Rejeicao da Chrome Web Store
As diretrizes rigorosas do Google ja causaram uma rejeicao. Regras de conformidade documentadas e integradas ao processo de desenvolvimento.
Protecao anti-bot (Cloudflare)
O ChatGPT usa protecao anti-bot agressiva, impedindo testes automatizados com Playwright nesta plataforma.
Dependencia de um unico desenvolvedor
Um unico mantenedor cria risco de fator bus. Mitigado por documentacao exaustiva (CLAUDE.md de 23K palavras).
Engenharia reversa do codigo
Extensoes de navegador expoem o codigo-fonte. Protegido com Terser + javascript-obfuscator em multiplas passagens.
Fases de realizacao
Um percurso cronologico do que foi construido e como
- Configuracao da arquitetura completa da extensao Manifest V3 (popup, service worker, content scripts)
- Implementacao dos extratores para ChatGPT, Gemini e Grok usando padrao Strategy com AbstractExtractor
- Construcao do pipeline CI/CD completo com GitHub Actions (5 jobs paralelos: lint, typecheck, test, seguranca, build)
- Configuracao do pipeline de release automatizado com release-it, conventional commits e SemVer
- Publicacao da primeira versao na Chrome Web Store no primeiro dia
- Adicao de Terser + javascript-obfuscator para protecao do codigo (minificacao em 3 passagens)
- Adicao do suporte ao Grok com expansao de links DeepSearch e conversao HTML para Markdown
- Adicao do suporte a plataforma Claude com extracao de conteudo assincrona
- Reforco da seguranca de tipos em todo o codigo (TypeScript strict, sem any explicito)
- Melhoria no tratamento de erros e recuperacao para estruturas DOM instaveis
- Implementacao do formato de links Markdown com recuperacao automatica de titulos de paginas
- Construcao do sistema de download fracionado para conversas que excedem os limites do navegador
- Aprimoramento do extrator Perplexity: citacoes agrupadas, imagens geradas, extracao de scripts Python
- Melhorias de UI e correcoes de bugs em todas as plataformas suportadas
- Extracao de artefatos do Claude com carregamento de conteudo assincrono
- Extracao de ChatGPT Canvas/Textdoc via API de clipboard
- Exportacao em lote de multiplas abas: selecao de varias abas para exportacao simultanea com acoes de comparacao, fusao e fact-checking
- Citacoes Deep Research resolvidas como links Markdown inline (ChatGPT + Gemini)
- Open-and-paste para referencia cruzada entre diferentes chatbots de IA (padrao council prompt)
- Plugin hot-reload Vite para iteracao de desenvolvimento mais rapida
Atores e interacoes
O ecossistema humano e tecnico ao redor do projeto
Como projeto solo, o AI Chat Export foi desenvolvido inteiramente por Jose DA COSTA, que acumulou todos os papeis simultaneamente: product owner, arquiteto, desenvolvedor, designer, engenheiro DevOps e publicador. Isso exigiu uma abordagem disciplinada de auto-organizacao e tomada de decisao.
A partir de marco de 2026, o Claude Code (Claude Opus 4.6) foi introduzido como assistente de pair-programming para acelerar o desenvolvimento de funcionalidades avancadas. A colaboracao foi estruturada e deliberada - o Claude Code operou dentro de diretrizes documentadas estritas (CLAUDE.md de 23K palavras) e todas as decisoes arquiteturais permaneceram com Jose DA COSTA.
| Metrica | Jose DA COSTA (solo) | + Claude Code | Total |
|---|---|---|---|
| Commits | 67 (79.8%) | 17 (20.2%) | 84 |
| Linhas adicionadas | 47,281 (89.2%) | 5,732 (10.8%) | 53,013 |
| Linhas removidas | 4,367 (56.5%) | 3,357 (43.5%) | 7,724 |
| Total linhas modificadas | 51,648 (85.0%) | 9,089 (15.0%) | 60,737 |
Dependencias externas
O projeto interagiu com varios servicos externos: Chrome Web Store (distribuicao principal), GitHub Actions (CI/CD), GitHub Releases (hospedagem de artefatos), Firefox Add-ons (AMO), Edge Add-ons e Google Cloud Console (OAuth para API da Chrome Web Store). Cada store tem seus proprios processos de revisao, politicas e restricoes de submissao que precisaram ser navegados cuidadosamente.
Resultados
Resultados mensuraveis para mim e para o produto
Para o produto
Releases
20
v1.0.0 a v1.13.1
Assercoes de teste
403
14 arquivos de teste
Dependencias (prod)
9
Bundle de producao enxuto
Plataformas ativas
6
+ 2 planejadas
Jobs CI/CD
5 parallel
lint, type, test, seguranca, build
Artefatos/Release
7
Chrome, Firefox, Edge, Brave, Opera
Para mim
Este projeto aprofundou consideravelmente a expertise em diversas areas:
- Arquitetura de extensao de navegador (Manifest V3) - dominio do ciclo de vida completo: content scripts, background service workers, popup UI, Chrome Storage API, messaging entre processos e manipulacao de iframes cross-origin
- Parsing DOM em escala - desenvolvimento de estrategias de extracao robustas usando seletores CSS, MutationObserver, travessia da arvore React Fiber e padroes de carregamento de conteudo assincrono
- Publicacao multi-stores - navegacao nos processos de submissao, revisao e conformidade da Chrome Web Store, Firefox AMO e Edge Add-ons
- Protecao de codigo - implementacao de pipeline de ofuscacao de nivel producao combinando Terser (3 passagens) e javascript-obfuscator com embaralhamento de arrays de strings
- Desenvolvimento assistido por IA - estabelecimento de uma metodologia estruturada para pair-programming com Claude Code, incluindo documentacao de diretrizes de 23K palavras servindo tanto como referencia para IA quanto para humanos
- Iteracao rapida - validacao de que investir em CI/CD desde o primeiro dia permite velocidade sustentavel (20 releases em 2 meses sem atrito)
Os dias seguintes do projeto
O projeto alem da entrega inicial
Consequencia imediata
Apos a release v1.13.1 em marco de 2026, a extensao estava disponivel na Chrome Web Store e instalavel diretamente via GitHub Releases para Firefox, Edge, Brave e Opera. O pipeline de release automatizado garantia que cada versao tagueada fosse automaticamente construida, empacotada e publicada em todos os canais suportados.
Manutencao continua
As interfaces dos chatbots de IA sao alvos inerentemente instaveis. ChatGPT, Gemini, Claude e outros atualizam regularmente sua estrutura DOM sem aviso. Cada atualizacao potencialmente quebra o extrator correspondente. A arquitetura modular (um extrator por plataforma, herdando de AbstractExtractor) foi explicitamente projetada para minimizar o raio de impacto de tais mudancas - quando o Gemini muda seu DOM, apenas o extrator do Gemini precisa ser atualizado.
Estado atual
O projeto esta em producao ativa na Chrome Web Store e continua em desenvolvimento. Duas plataformas adicionais (Copilot, DeepSeek) estao planejadas. O codigo permanece sob licenca proprietaria com protecao completa do codigo-fonte. A infraestrutura de documentacao - incluindo o CLAUDE.md de 23K palavras - serve como modelo para workflows de desenvolvimento assistido por IA e foi reutilizada em outros projetos.
Reflexao critica
Retrospectiva honesta sobre decisoes e licoes aprendidas
- Velocidade excepcional: 20 releases em 2 meses com um produto funcional na Chrome Web Store desde o primeiro dia. O investimento imediato em CI/CD compensou enormemente.
- Arquitetura modular: o padrao Strategy com AbstractExtractor permite adicionar uma nova plataforma escrevendo apenas uma classe de extrator sem tocar no codigo existente.
- Disciplina de qualidade de codigo: TypeScript strict mode, ESLint strictTypeChecked, conventional commits, 403 assercoes de teste, zero TODO/FIXME no codigo de producao.
- Documentacao orientada a IA: o CLAUDE.md de 23K palavras inaugurou uma abordagem de documentacao que serve simultaneamente desenvolvedores humanos e assistentes de IA.
- Pipeline CI/CD completo: do commit a Chrome Web Store - totalmente automatizado. Rejeicoes de store documentadas e integradas ao processo.
- Fragilidade DOM: a extracao depende do parsing dos DOMs dos chatbots, que podem mudar sem aviso. Um sistema de monitoramento automatico de mudancas de estrutura reduziria o tempo de reacao.
- Cobertura E2E limitada: a protecao Cloudflare do ChatGPT bloqueia navegadores automatizados, tornando testes end-to-end completos impossiveis para a plataforma mais critica.
- Ponto unico de falha: apesar de 23K palavras de documentacao, o projeto depende de um unico desenvolvedor para todas as decisoes e manutencao.
- Complexidade do extrator Gemini: 4.821 linhas distribuidas em 12 arquivos gerenciando iframes, charts, Deep Research e carrossel de fontes. Este modulo se beneficiaria de maior decomposicao.
- Motor generico HTML-to-Markdown: ao inves de extratores especificos por plataforma, um conversor HTML-to-Markdown configuravel adaptado a contextos de chatbots poderia reduzir a duplicacao de codigo.
Licoes duradouras
- A automacao compensa desde o primeiro dia - configurar CI/CD, conventional commits e releases automatizadas permitiu imediatamente 20 releases sem atrito em 2 meses.
- Documentar para IA e documentar para humanos - as diretrizes do Claude Code de 23K palavras servem tambem como documentacao arquitetural completa.
- DOMs SaaS sao contratos instaveis - construir um produto baseado em parsing DOM de terceiros requer design modular e capacidade de adaptacao rapida.
- A protecao de PI requer esforco deliberado - no ecossistema de extensoes de navegador, o codigo e inerentemente exposto. Ofuscacao, minificacao e ausencia de source maps sao defesas necessarias, mas imperfeitas.
Arquitetura
Trajetoria relacionada
Experiencia profissional ligada a esta realizacao
Competencias aplicadas
Competencias tecnicas e humanas aplicadas
Galeria de imagens
Capturas e visuais do projeto








