[{"data":1,"prerenderedAt":165},["ShallowReactive",2],{"diario-recent":3},[4,44,71,100,129],{"id":5,"title":6,"body":7,"date":30,"description":31,"extension":32,"meta":33,"navigation":34,"path":35,"seo":36,"stem":37,"tags":38,"__hash__":43},"diario/diario/animacoes-site-pessoal.md","Animações no site pessoal",{"type":8,"value":9,"toc":26},"minimark",[10,23],[11,12,13,14,18,19,22],"p",{},"Quis dar uma animaçãozinha no site pessoal. Criei um composable ",[15,16,17],"code",{},"useReveal"," com Intersection Observer e uma diretiva ",[15,20,21],{},"v-reveal"," pra animar elementos quando entram na viewport. Zero dependências, tudo CSS.",[11,24,25],{},"Fade up, stagger em listas, navbar que esconde ao scrollar pra baixo e aparece ao scrollar pra cima. Simples e leve.",{"title":27,"searchDepth":28,"depth":28,"links":29},"",2,[],"2026-03-05","Quis dar uma animaçãozinha no site pessoal. Criei um composable useReveal com Intersection Observer e uma diretiva v-reveal pra animar elementos quando entram na viewport. Zero dependências, tudo CSS.","md",{},true,"/diario/animacoes-site-pessoal",{"title":6,"description":31},"diario/animacoes-site-pessoal",[39,40,41,42],"site-pessoal","animacoes","css","nuxt","ebHmk3-5ycnXoR2hx6xtqjLQewI8-lE2vLCtBYcypSI",{"id":45,"title":46,"body":47,"date":60,"description":51,"extension":32,"meta":61,"navigation":34,"path":62,"seo":63,"stem":64,"tags":65,"__hash__":70},"diario/diario/afscj-nfce-e-suporte-pj.md","AFSCJ: entrega oficial da loja dos funcionários",{"type":8,"value":48,"toc":58},[49,52,55],[11,50,51],{},"Hoje fiz a entrega oficial da loja dos funcionários da SC Johnson. Desenvolvi a primeira versão em 2011 e refiz agora em 2025. Quinze anos depois, a loja voltou completa: catálogo de produtos, pedidos com PIX e desconto em folha, controle de estoque por centro de distribuição, e agora com emissão de nota e cupom fiscal via API do Bling.",[11,53,54],{},"O suporte a PJ foi o último ajuste. Pessoa jurídica não tem data de nascimento obrigatória, então relaxei a validação. Ajustei também os templates de email pra não pedir \"CPF\" quando é CNPJ.",[11,56,57],{},"Serviço entregue. Quem sabe renovar a loja deles daqui a mais 15 anos. Mas acho que estarei aposentado curtindo a vida apenas.",{"title":27,"searchDepth":28,"depth":28,"links":59},[],"2026-03-04",{},"/diario/afscj-nfce-e-suporte-pj",{"title":46,"description":51},"diario/afscj-nfce-e-suporte-pj",[66,67,68,69],"afscj","ecommerce","bling","terceiros","dfRTeYYwMf1m9DwifSbP5GzUO4MwUoD0T49xWR5rz5Y",{"id":72,"title":73,"body":74,"date":60,"description":78,"extension":32,"meta":90,"navigation":34,"path":91,"seo":92,"stem":93,"tags":94,"__hash__":99},"diario/diario/promax-extrusao-3d-e-modal-de-layers.md","Promax CNC: extrusão 3D e configuração de layers",{"type":8,"value":75,"toc":88},[76,79,82,85],[11,77,78],{},"Dia pesado na Promax. Implementei a extrusão 3D da espessura da chapa no visualizador Three.js. Antes o preview era flat. Agora a chapa aparece com a espessura real do material. Chapa de 3mm parece chapa de 3mm. Parece bobeira mas muda completamente a percepção do operador quando tá validando o nesting antes de cortar.",[11,80,81],{},"Junto com isso, fiz o modal de LayerConfig. Quando um DXF é importado, cada layer do arquivo vira uma linha no modal onde se configura: velocidade de corte, potência do laser, número de passes, ordem de corte. Contorno externo corta mais devagar, furos internos podem cortar mais rápido. Cada layer com parâmetros independentes.",[11,83,84],{},"Também melhorei o import de CSV Promob. Marceneiros usam o Promob pra projetar móveis. Agora exportam a lista de peças do Promob, importam no Promax, e o G-code sai pronto pro CNC. Fluxo que antes levava horas vira minutos.",[11,86,87],{},"A Promax tá tomando forma. Ainda preciso fechar o catálogo de materiais e o módulo de orçamento, mas o core de DXF → nesting → G-code já funciona.",{"title":27,"searchDepth":28,"depth":28,"links":89},[],{},"/diario/promax-extrusao-3d-e-modal-de-layers",{"title":73,"description":78},"diario/promax-extrusao-3d-e-modal-de-layers",[95,96,97,98],"promax","cnc","three.js","react","9tZL8KAwldTyhiXb87FKrd5clTEvZeetDtrZlDE3EEg",{"id":101,"title":102,"body":103,"date":119,"description":107,"extension":32,"meta":120,"navigation":34,"path":121,"seo":122,"stem":123,"tags":124,"__hash__":128},"diario/diario/talkpro-backend-pronto-app-na-fila.md","TalkPro: começando os apps iOS e Android",{"type":8,"value":104,"toc":117},[105,108,111,114],[11,106,107],{},"TalkPro é um sistema de gestão de atendimento pra provedores de internet fibra. O backend já tá rodando com 57 endpoints na API Restify: autenticação, faturas com PIX e boleto, tickets de suporte, teste de velocidade, gestão de conta. Tudo pronto com conexão ao hardware, CTO, OLT, etc.",[11,109,110],{},"Agora comecei a desenvolver os apps pra iOS e Android. O plano é Expo SDK 52, React Native com NativeWind, Zustand pro state e TanStack Query pro server state.",[11,112,113],{},"Organizei o plano de desenvolvimento em 8 fases. Fase 0 é o scaffold com auth biométrica via expo-secure-store. Fase 1 é a tela de faturas, que é a funcionalidade mais usada. Depois vem suporte, velocidade, e o resto.",[11,115,116],{},"O app é white-label. Qualquer provedor de internet consegue colocar a marca dele e entregar pro cliente final. A API já suporta multi-tenant, então o app só precisa consumir.",{"title":27,"searchDepth":28,"depth":28,"links":118},[],"2026-03-03",{},"/diario/talkpro-backend-pronto-app-na-fila",{"title":102,"description":107},"diario/talkpro-backend-pronto-app-na-fila",[125,126,127,69],"talkpro","react-native","expo","4Qzox9HNFsMwPsqrnPYEIb9m3tDUDJXSq0wgvjpYaEI",{"id":130,"title":131,"body":132,"date":156,"description":136,"extension":32,"meta":157,"navigation":34,"path":158,"seo":159,"stem":160,"tags":161,"__hash__":164},"diario/diario/ted-variantes-e-central-do-cliente.md","T&D: variantes na troca e ajustes na central do cliente",{"type":8,"value":133,"toc":154},[134,137,140,143],[11,135,136],{},"Na Troque & Devolva, trabalhei em duas frentes hoje.",[11,138,139],{},"No app, melhorei o card e modal de novo pedido pra exibir badges de variantes e o layout de preço. Quando o consumidor faz uma troca, agora fica claro qual variante (cor, tamanho) ele tá devolvendo e qual tá recebendo.",[11,141,142],{},"Na central do cliente, alguns ajustes e correções de bugs. No site, publiquei a seção de Exchange Variants na página de reversas.",[11,144,145,146,153],{},"Se você precisa de uma ferramenta de trocas, devoluções ou pós-vendas para e-commerce, visita o ",[147,148,152],"a",{"href":149,"rel":150},"https://troqueedevolva.com.br",[151],"nofollow","troqueedevolva.com.br",".",{"title":27,"searchDepth":28,"depth":28,"links":155},[],"2026-03-02",{},"/diario/ted-variantes-e-central-do-cliente",{"title":131,"description":136},"diario/ted-variantes-e-central-do-cliente",[162,67,163],"ted","troca","Dy9BkjujNAi8tELQ5SiB6A8WQNAWx4qw1_26NpgcEWw",1772834006002]