Simon Willison, desenvolvedor britânico e autor de um dos blogs mais acompanhados sobre ferramentas de inteligência artificial, publicou em 9 de outubro de 2026 uma nova área em seu site: uma página índice de newsletters que reúne os envios semanais gratuitos do Substack e as atualizações mensais exclusivas para patrocinadores. O detalhe que transforma o anúncio em notícia é o método de trabalho.
Willison construiu quase todo o recurso falando com o próprio notebook, enquanto preparava o jantar em casa.
Voz no lugar do teclado
A sessão foi conduzida no aplicativo desktop do ChatGPT, na aba Codex, usando o modo de conversa por voz e rodando contra um ambiente local de desenvolvimento. Willison começou digitando o comando "Start dev server and open in browser", que subiu uma prévia do site no navegador e permitiu acompanhar visualmente o progresso das páginas novas.
Em seguida, clicou em "Start new voice chat" — botão à direita do ícone de microfone, e não o microfone em si, e levou o notebook para a cozinha, onde conversou com o modelo por cerca de meia hora, o tempo exato de preparo do jantar.
O modelo usado foi o GPT-6 Astra High, segundo o próprio autor. A transcrição capturada pelo Codex registra hesitações, correções de rumo e frases incompletas típicas da fala espontânea, em que Willison decide em voz alta que as newsletters não devem aparecer nas páginas de tags nem no índice do blog, mas devem surgir nos arquivos por data, e que apenas as mensais precisam ser pesquisáveis.
As disfluências e tudo o mais ficaram registrados em uma transcrição completa publicada em um Gist.
O que foi construído durante o jantar
Segundo o relato, o resultado por voz foi surpreendentemente longo. O modelo criou um novo modelo de dados e uma migração no Django para representar as newsletters importadas, além da configuração correspondente no Django Admin; puxou os itens mais recentes do Substack via RSS; buscou todos os demais itens pela API não documentada do Substack, tentando primeiro o endpoint /API/v1/archive e depois rodando uma pesquisa para descobrir como paginar, o que o levou a um artigo de Karen Spinner; importou as newsletters mensais publicadas do repositório simonw/monthly-newsletter-archive e a mais recente das edições privadas para patrocinadores, guardada em repositório privado.
Do lado visível, entraram as páginas públicas /newsletters/ e /newsletters/2026/, a exibição das newsletters nos arquivos por dia e por mês (mas não nas páginas de tags nem na home), o link das semanais para o Substack, páginas próprias para as mensais arquivadas e a integração com o motor de busca do site. As decisões foram tomadas durante a conversa, não antes dela.
A parte que exigiu teclado
O recurso estava quase pronto para ir ao ar. O ponto de atrito foi a importação de dados.
O modelo se ofereceu para exportar o conteúdo da cópia local e usar esse arquivo em produção, mas Willison queria o mesmo comportamento dos outros scripts de importação do projeto. Como parte dos dados vive em um repositório privado do GitHub, o caminho exigiria criar uma nova chave de API, e isso, segundo ele, só se resolve sentado ao teclado.
Terminado o jantar, ele pediu ao Codex que criasse um branch e abrisse um pull request, e revisou o código na interface do GitHub. O código estava quase como queria, mas havia escolhido usar Git em um subprocesso em um dos scripts de importação.
Como uma das importações precisava puxar de um repositório Git privado, Willison avaliou que a API seria a melhor saída e passou a digitar. A troca por importação baseada em API, somada a ajustes na exibição das páginas públicas, consumiu mais meia hora de prompts escritos antes que ele se sentisse confortável para fazer o deploy.
As mudanças estão nos commits extras do pull request 719 do repositório simonwillisonblog.
Por que isso importa
O episódio funciona como um retrato realista do desenvolvimento assistido por IA em 2026. De um lado, mostra que um modelo consegue interpretar requisitos formulados de forma desordenada, com idas e vindas, e transformá-los em código funcional, incluindo um modelo Django, migrações, templates, rotas e integrações externas, em meia hora de conversa.
De outro, deixa claro onde a autonomia para: credenciais, chaves de API e decisões de arquitetura ainda empurram o desenvolvedor de volta ao teclado.
O ganho descrito não é o de escrever software sem humano, mas o de ocupar com código um tempo que antes ficava ocioso, como o preparo do jantar. A revisão humana, no fim, continua sendo a etapa que separa uma demonstração bonita de um recurso que vai para produção.
Fontes e links
- Simon Willison, matéria original sobre a construção da página de newsletters por voz
- Transcrição completa da sessão de voz
- Pull request 719 no repositório simonwillisonblog
- Página de newsletters publicada







