Como criei o meu primeiro software Windows .exe com Claude Code e Codex?
Já faz dois meses que eu “vibe-code”, primeiro com Claude Code e depois com Codex CLI. Nas últimas semanas, eu tinha um monte de tokens sobrando e poucos projetos, então me lancei, só por diversão, na criação de uma ferramenta para ouvir documentos em áudio e anotá-los ao mesmo tempo (um misto de Audible e Kindle). No final, ela se mostrou realmente útil: meus pais, cuja visão já caiu bastante, precisam muito dela para ouvir livros em voz alta com a ajuda da IA. Decidi fazer a versão para Windows (um simples .exe) para que eles possam instalar no computador deles.
É a primeira vez que crio um software. Mesmo tendo alguma experiência, não sou desenvolvedora de jeito nenhum, sei o que é um algoritmo e já codifiquei vários scripts para automatizar meu trabalho (em marketing). Mas nunca compilei nada e nem sei o que é Electron.
Quando eu trabalhava (em marketing) para uma empresa de software, admirava especialmente as equipes de Product Management (que inventam funcionalidades) e a equipe de QA (quality assurance (cujo trabalho é só encontrar bugs e falhas). Com meu próprio software, finalmente pude “brincar” de product management & QA. Yessss!!

Eu digito este prompt no chatGPT.
Quero criar um software tipo Audible que funcione em web local no Windows. Podemos fazer upload de URLs e também de arquivos epub, html, txt, pdf. Assim que o arquivo é enviado, os capítulos são detectados automaticamente. Na coluna da esquerda, tem botões "enviar arquivo", "enviar URL", "acessar biblioteca"; ao clicar em acessar biblioteca, vemos à direita a lista de arquivos já enviados; podemos ordená-los por data de adição ou de A a Z, ou de Z a A, também podemos editar o título do arquivo, podemos excluir facilmente cada arquivo. Quando queremos iniciar a leitura de um arquivo, clicamos no título do arquivo, o texto do arquivo é exibido + os botões play, avançar um parágrafo/capítulo, a lista de capítulos, + seleção de idiomas (EN, FR, VN), voz (masculina/feminina), tipos de voz, velocidade, pitch. O software precisa exibir o parágrafo que está sendo lido e manter a posição se pararmos ou fecharmos o software. Sugira a UI adequada; você tem acréscimos ou sugestões de melhoria?
O chatGPT me sugere algumas melhorias, eu faço algumas modificações, o desafio é um pouco. Chegamos a um plano detalhado, depois ele gera mock ups, que eu gosto muito:

Acho-os muito bons e peço um prompt para Claude Code para realmente codificar o software. Vamos para o modo plano para validar o plano técnico, e então é hora de começar!
O projeto é tratado em várias fases, Claude Code codifica cada fase, para, eu verifico, dou feedback, ele corrige e continuamos com outra fase.

A estrutura do software é feita muito rapidamente e, a cada vez, posso “tocar” no software antes de sugerir modificações.
Eu gosto muito, muito do processo: exige muita reflexão para tornar a UI fácil de usar e lógica, e adicionar funcionalidades que ninguém pensa, mas que todo mundo acha útil! Não é porque há poucos botões que há pouco trabalho, pois justamente o trabalho foi feito antecipadamente para ter o mínimo de botões e cliques possível.
Isso me lembra um almoço em que meu ex-gerente me disse, há 13 anos, que me via bem em uma profissão onde eu faria a ponte entre especialistas e desenvolvedores, ou seja, traduziria as necessidades “de negócio” em especificações para os desenvolvedores… uma espécie de Product Manager interno. Naquela época, o momento não era bom para eu fazer uma nova transição de carreira, mas isso mostra que ele era tão visionário e intuitivo que via o caminho certo para mim. Se você tem alguém igualmente visionário e intuitivo no seu círculo, convide essa pessoa para um almoço; será mais eficaz do que uma avaliação de competências.
O risco com esse tipo de software é a segurança. Os pdf & epub encontrados online podem conter scripts que são executados e podem arruinar um computador, então é preciso pedir ao Claude Code para proteger ao máximo.
Para isso, criei um agente especializado em cibersegurança, um agente especializado em UX UI e um agente QA — que auditam cada fase do projeto, rastreiam e corrigem erros.
Para as vozes, uso tanto as vozes doEdge TTS (gratuito, requer conexão com a Internet) quanto Microsoft (gratuito, offline, mas menos natural).
Descobri que “compilar um software” estava no fim do processo. O Electron permite empacotar uma interface web com Chromium e Node.js para transformá-la em um aplicativo Windows clássico. No fim do processo, obtemos um arquivo de instalação em .exe, mas depois ainda é preciso testar o software em outro computador (o dos meus pais), reportar os bugs automaticamente e gerenciar as atualizações (em breve).



Meus pontos favoritos
- Divisão automática do documento em capítulos: era um ponto delicado e difícil porque é preciso cobrir uma ampla gama de formatos e arquivos mal diagramados. Usei vários softwares de leitura com IA e todos têm muita dificuldade com os capítulos.
- Sublinhado & anotação: adoro sublinhar e anotar – e adoro entrar no modo “sublinhar tudo”, o mouse se transforma em um marca-texto. Isso é algo que melhorei em relação ao Kindle, onde eram necessários 2 cliques para sublinhar qualquer coisa. É fácil exportar os sublinhados & anotações.
- As vozes vietnamitas : estou muito satisfeita com a qualidade das vozes vietnamitas, testei outros aplicativos e não gostei tanto quanto do meu software 🙂 espero que meus pais também gostem
- E além dos custos de desenvolvimento que paguei à IA, este software será GRÁTIS para usar
- O design minimalista, não sou profissional em UX/UI, mas acho que a IA e eu nos saímos muito bem!
- O software gerencia a biblioteca de livros no computador, mas também abre acesso ao smartphone via rede local (porque não quero criar um aplicativo para iPhone nem um site). No smartphone, é uma versão leve que se comporta quase como o Audible. Mas com a possibilidade de acompanhar o texto junto com o áudio (se desejar).


| Camada | Tecnologias e função |
|---|---|
| Aplicativo desktop | Electron 43 — transforma a interface web em aplicativo Windows |
| Linguagem | TypeScript para o processo principal, o preload, a interface e o código compartilhado |
| Interface | React 19, React Router e CSS personalizado, sem Tailwind |
| Estado da interface | Zustand |
| Validação de dados | Zod para comunicações IPC, a API local e os esquemas compartilhados |
| Compilação e build | Vite 7 e electron-vite |
| Testes automatizados | Vitest e jsdom — cerca de 210 testes |
| Qualidade do código | ESLint e Prettier |
| Instalador Windows | electron-builder com alvo NSIS e script NSIS personalizado para o comportamento do instalador (escolha do idioma padrão). |
| Banco de dados local | SQLite via node-sqlite3-wasm, sem compilador C++ |
| Importar documentos | pdfjs-dist para PDFs, node-html-parser para HTML e fflate para EPUB e arquivos ZIP |
| Síntese de fala | Edge TTS com msedge-tts e Web Speech API para vozes do Windows |
| Áudio móvel na rede local | Streaming HLS, com FFmpeg executado por um servidor local na porta 8789 |
| Internacionalização | Interface disponível em francês, inglês e vietnamita, com as traduções agrupadas em messages.ts |
| Ícones | lucide-react |
Eu não conhecia nenhuma dessas tecnologias (exceto SQL e CSS) até 3 dias atrás 😀 O vibe coding não é só escrever um prompt grande e esperar que a IA faça tudo. É preciso dividir o projeto em pequenas etapas, testar cada funcionalidade, identificar comportamentos estranhos e reformular com precisão o que queremos (também podemos mudar de ideia no meio do caminho).
Ainda faltam funcionalidades avançadas, mas estou muito satisfeita com a v1. Deixemos as funcionalidades mais avançadas para as v1.1, 1.2… Também já planejei as bases necessárias para a futura gestão de relatórios de bugs e atualizações, caso eu decida distribuir o software para um público mais amplo.



