<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Matheus de Paula Ribeiro</title>
    <description>The latest articles on DEV Community by Matheus de Paula Ribeiro (@matheus_depaularibeiro_).</description>
    <link>https://dev.to/matheus_depaularibeiro_</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4149911%2F17ee139d-2e02-43b6-a321-e9794575f870.jpeg</url>
      <title>DEV Community: Matheus de Paula Ribeiro</title>
      <link>https://dev.to/matheus_depaularibeiro_</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/matheus_depaularibeiro_"/>
    <language>en</language>
    <item>
      <title>Há 4 meses eu usava uma IA pra tudo. Hoje converso com uma só e ela coordena o resto</title>
      <dc:creator>Matheus de Paula Ribeiro</dc:creator>
      <pubDate>Fri, 30 Oct 2026 17:42:51 +0000</pubDate>
      <link>https://dev.to/matheus_depaularibeiro_/ha-4-meses-eu-usava-uma-ia-pra-tudo-hoje-converso-com-uma-so-e-ela-coordena-o-resto-4j4d</link>
      <guid>https://dev.to/matheus_depaularibeiro_/ha-4-meses-eu-usava-uma-ia-pra-tudo-hoje-converso-com-uma-so-e-ela-coordena-o-resto-4j4d</guid>
      <description>&lt;h2&gt;
  
  
  Uma IA pra tudo
&lt;/h2&gt;

&lt;p&gt;Até uns 4 meses atrás eu fazia tudo num terminal só. A ideia, as pesquisas, o código e os testes, tudo na mesma sessão com a IA.&lt;/p&gt;

&lt;p&gt;No começo funcionava. Com o tempo ia piorando. A sessão carregava o contexto da ideia, das pesquisas, dos testes e do desenvolvimento ao mesmo tempo, e com o contexto inflado a qualidade caía. Também demorava, porque era uma IA pra fazer tudo. E o gasto de token ia lá em cima.&lt;/p&gt;

&lt;p&gt;O que eu queria era automatizar as tarefas principais de um desenvolvimento. Ter um meta prompt me ajudando a estruturar a ideia e, depois disso, agentes com foco: um pra desenvolver, um pra testar e um pra investigar e pesquisar.&lt;/p&gt;

&lt;p&gt;Foi assim que nasceu o Forge.&lt;/p&gt;

&lt;h2&gt;
  
  
  Vários terminais conversando por tmux
&lt;/h2&gt;

&lt;p&gt;A primeira versão, em julho, rodava no kiro-cli. Na época ele ainda não tinha subagentes integrados, então adaptei pra funcionar via tmux. Cada agente era um terminal, e eles conversavam assim: um mandava texto pro outro com send-keys, esperava com sleep e lia a resposta com capture-pane.&lt;/p&gt;

&lt;p&gt;Tinha uma série de bugs e problemas. Mas funcionou.&lt;/p&gt;

&lt;p&gt;No dia 5 de agosto eu migrei o núcleo pro Claude Code e fui 100% de subagentes. Saiu o tmux e entrou um orquestrador único, que chama os agentes e recebe deles um retorno estruturado. Em setembro o Forge virou plugin, e no fim de outubro abri o código com licença MIT.&lt;/p&gt;

&lt;h2&gt;
  
  
  Como funciona
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F7lhpe1b8d6nz2y8cqmj0.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F7lhpe1b8d6nz2y8cqmj0.gif" alt="O pedido sai de você, passa pelo orquestrador, vai pro scout, pro dev e pro tester, e só volta depois do PASSOU" width="800" height="364"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Você digita &lt;code&gt;/forge&lt;/code&gt; e escolhe um caminho: criar um projeto do zero, corrigir ou implementar algo num projeto que já existe, ou investigar um problema sem escrever código.&lt;/p&gt;

&lt;p&gt;No caminho de criar, o meta prompt faz algumas rodadas curtas de perguntas. O que ele decidir sozinho fica marcado como suposição, pra eu revisar. Daí sai a spec, um &lt;code&gt;prompt.md&lt;/code&gt; com critérios de aceite, e eu aprovo antes de qualquer linha de código.&lt;/p&gt;

&lt;p&gt;Depois o orquestrador quebra a spec em tarefas pequenas e distribui:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Quem&lt;/th&gt;
&lt;th&gt;O que faz&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Orquestrador&lt;/td&gt;
&lt;td&gt;conversa comigo, escreve a spec, divide e distribui. Não escreve código&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;dev&lt;/td&gt;
&lt;td&gt;escreve todo o código e roda build e teste unitário&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;tester&lt;/td&gt;
&lt;td&gt;valida a entrega no navegador de verdade ou por contrato (API, CLI, MCP) e dá o veredito: PASSOU, FALHOU ou BLOQUEADO&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;scout&lt;/td&gt;
&lt;td&gt;lê, varre e pesquisa em volume, e volta só com o resumo&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Quando as tarefas não dependem uma da outra, vários devs rodam ao mesmo tempo. Se o tester reprova, a tarefa volta pro dev com o defeito descrito. O progresso fica anotado numa pasta &lt;code&gt;.forge/&lt;/code&gt;, então dá pra parar hoje e continuar amanhã.&lt;/p&gt;

&lt;p&gt;Cada agente trabalha no próprio contexto. O orquestrador não vê a varredura do scout nem o código que o dev leu pra escrever. Ele recebe o resultado e decide o próximo passo. Era exatamente o que faltava no terminal único.&lt;/p&gt;

&lt;h2&gt;
  
  
  O orquestrador que esquecia
&lt;/h2&gt;

&lt;p&gt;A regra número um do orquestrador é não escrever código. E ele esquecia.&lt;/p&gt;

&lt;p&gt;Em conversa longa, a instrução ficava lá pra trás no contexto, e uma hora ele abria um arquivo e começava a programar.&lt;/p&gt;

&lt;p&gt;Pedir de novo em texto não resolveu. Então virou hook.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fect8l6bt0ij9fcwn1bvj.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fect8l6bt0ij9fcwn1bvj.gif" alt="O orquestrador tenta escrever um arquivo, o hook bloqueia e o pedido vira um briefing pro dev" width="800" height="255"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Hook é um script que o Claude Code roda antes e depois de cada ação. O do Forge olha o caminho do arquivo: se o orquestrador tenta escrever código de produto, a ação é negada e ele precisa delegar pro dev. Ele já veio junto na migração pro Claude Code, no dia 5 de agosto, e depois ganhou uma versão que pega a mesma tentativa feita pelo terminal.&lt;/p&gt;

&lt;p&gt;Desde então, regra importante no Forge vira hook. Hoje são oito, entre eles:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;o orquestrador não escreve código;&lt;/li&gt;
&lt;li&gt;quando o dev entrega algo verificável, a validação fica pendente até o tester rodar;&lt;/li&gt;
&lt;li&gt;cada papel tem um teto de turnos;&lt;/li&gt;
&lt;li&gt;commit só sai com a identidade git configurada no próprio repositório.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  O custo de token
&lt;/h2&gt;

&lt;p&gt;Num loop de agentes, o que mais pesa é o contexto reenviado. A cada turno a conversa inteira volta pro modelo, então uma invocação longa fica cada vez mais cara.&lt;/p&gt;

&lt;p&gt;Fui atacando isso por partes. Em agosto cortei o custo do próprio loop de orquestração. Em setembro entraram o scout, que faz a varredura no contexto dele e devolve só o resumo, e o teto de turnos por papel. O RTK, que comprime a saída dos comandos de terminal, entra como opcional. E se o orquestrador começa a abrir arquivo atrás de arquivo, um hook lembra ele de passar a tarefa pro scout.&lt;/p&gt;

&lt;p&gt;Vou ser sincero: não tenho um número de antes e depois pra mostrar. A diferença ficou nítida no uso, mas eu não medi. Por isso deixei no repositório o &lt;code&gt;forge-tokens&lt;/code&gt;, que lê os transcritos das sessões e mede o seu consumo. Quem quiser comparar, dá pra fazer na própria máquina.&lt;/p&gt;

&lt;h2&gt;
  
  
  Mais do que fábrica de projeto
&lt;/h2&gt;

&lt;p&gt;Quando o scout entrou, em setembro, o Forge deixou de ser só fábrica de projeto. O caminho de investigar serve pra olhar um incidente, um banco de dados, um custo ou uma infraestrutura e terminar num relatório, sem nenhuma linha de código.&lt;/p&gt;

&lt;p&gt;Tudo que eu fiz nesses meses passou por ele. São mais de 50 projetos e experimentos na minha pasta. A maioria não seguiu em frente e não é pública. Entre os que seguiram estão o Vertex, minha ferramenta de modelagem 3D por código, que vai ganhar um artigo só dele. E as experiências de realidade aumentada que fiz pra Dati, incluindo o &lt;a href="https://dev.to/matheus_depaularibeiro_/em-2024-vi-o-corpo-humano-em-3d-num-manequim-em-setembro-fiz-um-portal-abrir-numa-carta-4a5p"&gt;portal que abre numa carta&lt;/a&gt;. Naquele artigo eu falei das skills de orquestração de agentes e de economia de token que uso em todos os meus projetos. Eram o Forge.&lt;/p&gt;

&lt;p&gt;Na Dati eu uso uma versão própria, com ênfase em AWS.&lt;/p&gt;

&lt;p&gt;E não fiquei só no meu teste. O &lt;a href="https://www.linkedin.com/in/leonardo-prado-suzin/" rel="noopener noreferrer"&gt;Leonardo Prado Suzin&lt;/a&gt; também usou o Forge e aprovou.&lt;/p&gt;

&lt;h2&gt;
  
  
  Pra testar
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F5tuf9evif18lr3iw4bzr.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F5tuf9evif18lr3iw4bzr.gif" alt="Terminal digitando os comandos de instalação e abrindo o menu do /forge" width="799" height="327"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Dentro do Claude Code:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;/plugin marketplace add MatheusRibeir098/forge-claude
/plugin install forge@forge-claude
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;Depois, na raiz do repositório onde você vai trabalhar:&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;/forge:setup
/forge:doctor
/forge
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;O &lt;code&gt;/forge:setup&lt;/code&gt; grava as permissões e as regras no &lt;code&gt;CLAUDE.md&lt;/code&gt; e mostra o diff antes. O &lt;code&gt;/forge:doctor&lt;/code&gt; só confere se está tudo certo. Se você trabalha com interface, tem também o &lt;code&gt;forge-frontend&lt;/code&gt;, com skills de React, Tailwind, dark mode e afins.&lt;/p&gt;


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://assets.dev.to/assets/github-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/MatheusRibeir098" rel="noopener noreferrer"&gt;
        MatheusRibeir098
      &lt;/a&gt; / &lt;a href="https://github.com/MatheusRibeir098/forge-claude" rel="noopener noreferrer"&gt;
        forge-claude
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      🔥 Fábrica de software para Claude Code: você descreve, um orquestrador decompõe em tarefas e delega para subagentes dev e tester — em paralelo — até entregar validado com prints.
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;&lt;p&gt;
  &lt;a rel="noopener noreferrer" href="https://github.com/MatheusRibeir098/forge-claude/docs/assets/hero.svg"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fraw.githubusercontent.com%2FMatheusRibeir098%2Fforge-claude%2FHEAD%2Fdocs%2Fassets%2Fhero.svg" width="100%" alt="Forge: você conversa com o orquestrador, ele coordena o resto"&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
  &lt;a rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/923ca74e921ef43f6741c3c4055301fa18d41b65b93cf313892c829f705577f0/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f436c617564655f436f64652d706c7567696e2d4639373331363f7374796c653d666c61742d737175617265"&gt;&lt;img src="https://camo.githubusercontent.com/923ca74e921ef43f6741c3c4055301fa18d41b65b93cf313892c829f705577f0/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f436c617564655f436f64652d706c7567696e2d4639373331363f7374796c653d666c61742d737175617265" alt="Plugin do Claude Code"&gt;&lt;/a&gt;
  &lt;a rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/72ed366e4a2f67e38e30edd7d940ab683da7b2c59e5ac1d6b09d93ef676e34e5/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e254333254137612d4d49542d3346423935303f7374796c653d666c61742d737175617265"&gt;&lt;img src="https://camo.githubusercontent.com/72ed366e4a2f67e38e30edd7d940ab683da7b2c59e5ac1d6b09d93ef676e34e5/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e254333254137612d4d49542d3346423935303f7374796c653d666c61742d737175617265" alt="Licença MIT"&gt;&lt;/a&gt;
  &lt;a rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/c6042b623409807343d8a131e60d9bc550f926561c1524c85e170eed85007676/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6964696f6d612d70742d2d42522d3538413646463f7374796c653d666c61742d737175617265"&gt;&lt;img src="https://camo.githubusercontent.com/c6042b623409807343d8a131e60d9bc550f926561c1524c85e170eed85007676/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6964696f6d612d70742d2d42522d3538413646463f7374796c653d666c61742d737175617265" alt="Idioma: português do Brasil"&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
  &lt;a href="https://github.com/MatheusRibeir098/forge-claude#o-que-%C3%A9" rel="noopener noreferrer"&gt;O que é&lt;/a&gt; ·
  &lt;a href="https://github.com/MatheusRibeir098/forge-claude#como-funciona" rel="noopener noreferrer"&gt;Como funciona&lt;/a&gt; ·
  &lt;a href="https://github.com/MatheusRibeir098/forge-claude#os-tr%C3%AAs-jeitos-de-come%C3%A7ar" rel="noopener noreferrer"&gt;Como começar&lt;/a&gt; ·
  &lt;a href="https://github.com/MatheusRibeir098/forge-claude#perguntas-frequentes" rel="noopener noreferrer"&gt;Perguntas&lt;/a&gt; ·
  &lt;a href="https://github.com/MatheusRibeir098/forge-claude#instala%C3%A7%C3%A3o" rel="noopener noreferrer"&gt;&lt;b&gt;Instalação&lt;/b&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;O que é&lt;/h2&gt;
&lt;/div&gt;

&lt;p&gt;O Forge é um plugin para o &lt;a href="https://claude.com/claude-code" rel="nofollow noopener noreferrer"&gt;Claude Code&lt;/a&gt; que transforma uma
conversa em uma pequena equipe de software.&lt;/p&gt;
&lt;p&gt;Você fala com &lt;strong&gt;um único&lt;/strong&gt; agente, o &lt;strong&gt;orquestrador&lt;/strong&gt;. Ele entende o pedido, divide o trabalho
em tarefas e chama o especialista certo para cada uma. A mesma pessoa não faz tudo: quem
escreve o código nunca é quem confere se ficou certo.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Em uma frase:&lt;/strong&gt; é como um mestre de obras que não pega no martelo. Ele planeja e
distribui o trabalho, e só considera a obra entregue depois que o fiscal aprova.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Como funciona&lt;/h2&gt;
&lt;/div&gt;
&lt;p&gt;
  &lt;a rel="noopener noreferrer" href="https://github.com/MatheusRibeir098/forge-claude/docs/assets/fluxo.svg"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fraw.githubusercontent.com%2FMatheusRibeir098%2Fforge-claude%2FHEAD%2Fdocs%2Fassets%2Ffluxo.svg" width="100%" alt="Diagrama animado: o pedido sai de você para o orquestrador, que consulta o scout, passa a tarefa ao dev, manda a entrega ao tester e só devolve para você depois do PASSOU"&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;&lt;div class="table-wrapper-paragraph"&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;table&gt;

&lt;thead&gt;

&lt;tr&gt;

&lt;th&gt;Quem&lt;/th&gt;

&lt;th&gt;O que faz&lt;/th&gt;

&lt;th&gt;Pense nele como&lt;/th&gt;

&lt;/tr&gt;

&lt;/thead&gt;

&lt;tbody&gt;

&lt;tr&gt;

&lt;td&gt;&lt;strong&gt;Orquestrador&lt;/strong&gt;&lt;/td&gt;

&lt;td&gt;Conversa com você, escreve a spec, divide em tarefas e distribui. Não escreve código.&lt;/td&gt;

&lt;td&gt;o mestre de obras&lt;/td&gt;

&lt;/tr&gt;

&lt;tr&gt;

&lt;td&gt;&lt;strong&gt;&lt;code&gt;dev&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;

&lt;td&gt;Escreve todo o código e roda build e testes unitários.&lt;/td&gt;

&lt;td&gt;o construtor&lt;/td&gt;

&lt;/tr&gt;

&lt;/tbody&gt;

&lt;/table&gt;&lt;/div&gt;…&lt;p&gt;&lt;/p&gt;&lt;/div&gt;
&lt;br&gt;
  &lt;/div&gt;
&lt;br&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/MatheusRibeir098/forge-claude" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;br&gt;
&lt;/div&gt;
&lt;br&gt;


&lt;p&gt;Se testar, me conta o que achou. Feedback, issue e estrela no repo ajudam muito.&lt;/p&gt;

&lt;p&gt;Há 4 meses era uma IA pra tudo, num terminal só. Hoje eu converso com uma só, e ela coordena o resto.&lt;/p&gt;

</description>
      <category>ptbr</category>
      <category>showdev</category>
      <category>ai</category>
      <category>opensource</category>
    </item>
    <item>
      <title>Em 2024 vi o corpo humano em 3D num manequim. Em setembro fiz um portal abrir numa carta</title>
      <dc:creator>Matheus de Paula Ribeiro</dc:creator>
      <pubDate>Tue, 13 Oct 2026 12:15:19 +0000</pubDate>
      <link>https://dev.to/matheus_depaularibeiro_/em-2024-vi-o-corpo-humano-em-3d-num-manequim-em-setembro-fiz-um-portal-abrir-numa-carta-4a5p</link>
      <guid>https://dev.to/matheus_depaularibeiro_/em-2024-vi-o-corpo-humano-em-3d-num-manequim-em-setembro-fiz-um-portal-abrir-numa-carta-4a5p</guid>
      <description>&lt;h2&gt;
  
  
  O manequim
&lt;/h2&gt;

&lt;p&gt;Tudo começou de uma lembrança. Em 2024 eu fui no Interação FURB, que é um evento da universidade aqui da minha cidade onde você pode ir nas oficinas e ver um pouco de cada curso. Na oficina de Ciência da Computação o professor apontou o celular pra um código que estava na camisa de um manequim, e na tela apareceu o corpo humano em 3D, por dentro, preso na camisa. Aquilo ficou na minha cabeça.&lt;/p&gt;

&lt;p&gt;Dois anos depois resolvi fazer igual.&lt;/p&gt;

&lt;h2&gt;
  
  
  Um dia pro APK
&lt;/h2&gt;

&lt;p&gt;Dia 23 de setembro eu sentei e fiz um grill-me da ideia, que é basicamente deixar a IA me sabatinar até eu saber o que eu queria de verdade. Não tinha prazo, não tinha cliente, era pra aprender AR nativa mesmo: ler um marcador impresso, ancorar um modelo 3D nele e entender como isso funciona por dentro. Fechei em Unity com AR Foundation e ARCore, só Android.&lt;/p&gt;

&lt;p&gt;No dia 24 o APK estava pronto e funcionando. Um marcador impresso, um modelo de anatomia humana em cima, no celular. Era a cena do manequim.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fybm5em4xof3c1dk5e46q.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fybm5em4xof3c1dk5e46q.gif" alt="APK do Unity rodando na manhã do dia 25, antes de começar tudo de novo na web" width="480" height="369"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  A noite que o CEO passou na minha mesa
&lt;/h2&gt;

&lt;p&gt;Nessa mesma noite o CEO passou por perto e eu chamei ele pra ver. Ele viu e gostou muito! Aí ele me lançou um desafio: fazer isso na web, pra qualquer pessoa conseguir abrir no celular sem ter o trabalho de instalar um app. O quanto antes. Se eu conseguisse, ele ia colocar no camarote da empresa no desfile da Oktoberfest.&lt;/p&gt;

&lt;p&gt;Agarrei a oportunidade.&lt;/p&gt;

&lt;p&gt;O problema é que eu não conhecia nenhuma ferramenta de AR pra navegador. Nenhuma. Então na mesma noite comecei a pesquisar com a ajuda da IA e cheguei em seis opções. Quatro caíram rápido: uma precisava de flag no Chrome, duas eram plataforma hospedada sem self-host, e WebXR nativo não roda no Safari do iPhone. Sobraram o MindAR e o 8th Wall open source. Fiquei com o 8th Wall porque é MIT, roda em Safari e Chrome, e eu podia hospedar na minha própria conta da AWS.&lt;/p&gt;

&lt;p&gt;Aí tudo começou a andar de novo. Deixei o APK de lado e no dia 25 comecei a desenvolver tudo do zero.&lt;/p&gt;

&lt;h2&gt;
  
  
  Um dia pro site
&lt;/h2&gt;

&lt;p&gt;Dia 25 de setembro foram 84 commits. Scaffolding em TypeScript, three.js e Vite, o portal com a logo da empresa saindo dele, o rastreamento da carta, a infra em S3 e CloudFront, o site publicado e testado num Galaxy S23 FE de verdade. Tudo entre nove da manhã e quatro da tarde.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fvub4vtcshi6qg5w44kxi.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fvub4vtcshi6qg5w44kxi.jpg" alt="A mesa no dia 25: carta impressa, celular no suporte com o portal aberto e o terminal do Claude Code" width="600" height="820"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Quando você aponta o celular pra carta, um portal se abre em cima dela, as peças da logo da empresa sobem lá de dentro, a logo brilha e uma órbita de ícones de serviços da AWS gira em volta, com um selo de parceiro. Tudo no navegador, sem instalar nada. A anatomia ficou pra trás: eu quis fazer algo pensado pra empresa, que fizesse ela se interessar, e por isso o que sai do portal é a logo dela.&lt;/p&gt;

&lt;p&gt;O site está restrito por enquanto, então não deixo aqui o link nem a carta pra imprimir. O pedido do CEO era justamente que qualquer pessoa abrisse sem instalar nada, e é assim que ele funciona, só que fechado por ora.&lt;/p&gt;

&lt;p&gt;Vale falar de como isso foi feito. O projeto inteiro, tanto o APK quanto o site, foi desenvolvido com o Claude Code. É 100% feito por IA. O que é meu são as skills de orquestração de agentes e de economia de token que eu uso em todos os meus projetos, e o briefing de cada tarefa. Meu trabalho foi decidir, testar no celular e devolver o que estava errado.&lt;/p&gt;

&lt;p&gt;Dois números que saíram desse dia e que eu não teria se não tivesse medido:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;O portal tremia 1,10° em relação à carta parada, e a meta era 0,5°. Pra resolver usei um filtro One Euro, que suaviza forte quando o celular está parado e solta quando ele se mexe rápido, pra não dar atraso. Numa simulação o tremor caiu pra 0,33°, com um atraso de 0,88° num giro rápido. Esse número veio da simulação, não do celular.&lt;/li&gt;
&lt;li&gt;A primeira visita do site pesa 6,48 MB, e quase 5 MB são o motor do 8th Wall. O orçamento era 10 MB, pensando no 4G de um camarote lotado.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Sobre o 8th Wall: o pacote que eu uso é MIT e não inclui SLAM. O SLAM existe só num binário com licença própria, e eu deixei o rastreamento de mundo desligado.&lt;/p&gt;

&lt;h2&gt;
  
  
  A carta é a parte difícil
&lt;/h2&gt;

&lt;p&gt;Eu achava que o difícil ia ser o 3D. Era a carta.&lt;/p&gt;

&lt;p&gt;A primeira carta com QR foi cancelada uma hora depois de gerada. O QR ficou pequeno demais e dentro da área que o 8th Wall rastreia. O Claude me explicou que o QR tem muito padrão repetitivo, e isso atrapalha a ancoragem. O guia de imagens rastreadas do Google também desaconselha QR e código de barras. Eu não medi isso sozinho, foi o que o Claude me explicou e o que o guia diz. A solução foi tirar o QR do recorte rastreado e colocar numa faixa própria, embaixo.&lt;/p&gt;

&lt;p&gt;Imprimi pelo menos umas quinze cartas diferentes pra testar ancoragem.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F5xtn2z0ht8jk5ait71cl.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F5xtn2z0ht8jk5ait71cl.jpg" alt="Página de teste de rastreamento: carta encontrada, 31 FPS" width="800" height="1496"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Coisas que só aparecem na mão de alguém
&lt;/h2&gt;

&lt;p&gt;O primeiro protótipo tinha bastante som. Um deles era um zumbido em loop enquanto o portal ficava aberto. Eu achei que parecia helicóptero. Todo mundo pra quem eu mostrei achou que parecia helicóptero. Era ridículo. Foi removido.&lt;/p&gt;

&lt;p&gt;Nada disso aparece pro agente. Aparece quando você aponta o celular.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fb26byn21t0zbhgbx3otn.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fb26byn21t0zbhgbx3otn.jpg" alt="Meia-noite, mesa de baralho, portal aberto no celular com a órbita em volta" width="800" height="1496"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Depois disso veio o Oktobercloud, outro projeto no mesmo repo: uma caneca de chopp que enche e brinda em cima de um porta-copo. O desafio virou outro, achar um modelo 3D gratuito decente e animar. A caneca eu fui atrás na mão, no Sketchfab, e os agentes fizeram uma pesquisa pesada de como manipular no Blender. A caneca saiu de 6,47 MB pra 252 kB. No fim ele não foi usado, mas ficou uma animação bem legal.&lt;/p&gt;

&lt;h2&gt;
  
  
  O que ficou
&lt;/h2&gt;

&lt;p&gt;O desfile da Oktoberfest tem datas até 24 de outubro e ainda não tivemos retorno sobre o camarote em si.&lt;/p&gt;

&lt;p&gt;O que ficou é o repo: 107 PRs, esteira de CI/CD com deploy automático e um Lab com receita e lição de cada efeito. É a coisa mais completa que eu já construí.&lt;/p&gt;

&lt;p&gt;Aprendi bastante. Algumas horas de estudo e pesquisa com o Claude me ensinaram AR e, principalmente, modelagem 3D. Descobri ferramentas novas. Vi que, com as skills certas e ordens bem dadas, dá pra fazer o Claude gerar modelos 3D e 2D muito bons. E vi que existem ferramentas open source de AR muito boas, que funcionaram de verdade nesse projeto.&lt;/p&gt;

&lt;p&gt;O APK ficou parado por enquanto. Quero voltar nele pra fazer coisas mais robustas.&lt;/p&gt;

&lt;p&gt;Em 2024 eu era o cara olhando pro manequim. Em setembro fui eu que fiz o portal abrir.&lt;/p&gt;




&lt;p&gt;Crédito: o modelo da caneca é o "Beer", do chiwei, no Sketchfab, licença CC BY 4.0, adaptado.&lt;/p&gt;

</description>
      <category>ptbr</category>
      <category>showdev</category>
      <category>threejs</category>
      <category>aws</category>
    </item>
  </channel>
</rss>
