<?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%2F00f24183-f938-4d6e-81fa-ea293f90f95f.jpg</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>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>
