// desenvolvedor full-stack · product builder

Explorando a interseção entre IA, código,produto e arquitetura.

Desenvolvedor orientado a produto, com +10 anos construindo produtos de alto impacto guiados por dados. Ex-nadador profissional, formado em psicologia — trago disciplina e insight comportamental para a forma como o software é projetado e entregue.

+10 anos entregando/ex-atleta profissional/formação em psicologia
ÚLTIMOS POSTS
IA sem padrão é só caos mais rápidoTodo time de engenharia que eu converso está usando IA. Ninguém debate mais isso. O que ninguém está falando é que cada dev no mesmo time está usando de um jeito diferente. O problema que ninguém admite Dez devs. Dez setups diferentes. Dez arquivos de regras diferentes. Dez hábitos de prompting diferentes. Mesmo codebase, mesmosSeus logs de 404 são um relatório de segurança que você está ignorandoA maioria dos devs WordPress instala um plugin de redirect, configura uns 301, e nunca mais olha pros logs de 404. Isso é um erro. Seus logs de 404 são um mapa em tempo real de quem está sondando seu site e o que estão procurando. Bots escaneando arquivos de ambiente expostos, vazamento de credenciais,O que 150+ votos de feature me ensinaram sobre construir as coisas erradasEstou usando o WPFeatureLoop nos meus próprios plugins há pouco mais de um mês. Nesse período, coletei mais de 150 votos em 11 feature requests, e isso já mudou o que vou construir a seguir. Aqui vai como os dados realmente são, e o que eles me ensinaram sobre meus próprios pontos cegos como desenvolvedor.Na Era da IA, Soft Skills São as Hard SkillsQuanto mais poderosa a IA fica, mais humano o gargalo se torna. Você abre um chat novo, digita um prompt vago, recebe uma resposta medíocre e culpa o modelo. O modelo não é o problema. O Que Realmente Mudou Na última década, a coisa mais valiosa que um desenvolvedor podia fazer era executar. Escrever owp_add_inline_script não funciona em Block Themes (FSE): Causa e SoluçãoVocê chama wp_add_inline_script() dentro de um shortcode. Funciona perfeitamente em temas clássicos. Aí você troca pra um block theme — ou seu usuário troca — e de repente: nada. Sem erro PHP, sem warning, só uma falha silenciosa e um X is not defined no console do browser. Isso é uma inconsistência conhecida, rastreada noComo Eu Melhorei a Taxa de Ativação do WPFeatureLoop em 80% com WordPress PlaygroundA maioria dos produtos SaaS tem um gap entre o signup e o momento em que o usuário realmente entende o produto. No WPFeatureLoop, esse gap era brutal. Usuários criavam uma conta, olhavam o dashboard, e… nada. O próximo passo era instalar um SDK via Composer. Pra um dev WordPress que só queria ver sePor que você deveria parar de usar left e right no CSSQuem já está no mundo da programação há algum tempo se acostumou a escrever margin-left, padding-right e rounded-l quase no automático. Virou muscle memory de qualquer dev e a maioria das pessoas ainda escreve CSS assim: Ou, no Tailwind: Funciona. Sempre funcionou! Mas existem situações em que isso deixa de ser só detalhe e começaMeu primeiro WordCamp Brasil (Rio de Janeiro)No final de novembro participei do WordCamp Brasil 2025, realizado no Rio de Janeiro. Foi meu primeiro WordCamp, algo que eu já tinha vontade de vivenciar há bastante tempo, então deixo aqui esse registro pessoal da experiência. A participação no evento também contou com o apoio da Extendify, empresa onde trabalho atualmente, o que tornouComo Auto-Hospedar Plugins do WordPress no GitHub e Entregar AtualizaçõesGerenciar atualizações de plugins pode ser um desafio, especialmente se você não está utilizando o repositório oficial de plugins do WordPress. Mas e se você pudesse auto-hospedar seus plugins no GitHub e entregar atualizações de forma transparente, sem a necessidade de bibliotecas complexas ou serviços de terceiros? Neste guia, apresento uma solução simples e poderosaManipule Eventos de Popups do Elementor Sem jQuerySe você já trabalhou com o Elementor e tentou manipular seus popups programaticamente, provavelmente percebeu que a documentação oficial oferece exemplos de manipulação de eventos apenas com jQuery. Porém, se você prefere uma solução moderna e leve utilizando Vanilla JavaScript, este guia é para você. Com a API MutationObserver, você pode monitorar alterações no DOMMasky.js: Uma Alternativa Leve ao Inputmask, Cleave.js e IMaskEncontrar a biblioteca certa para mascarar inputs pode ser um desafio. Existem muitas opções disponíveis, cada uma com seus prós e contras. Algumas são repletas de recursos, mas pesadas; outras são leves, mas carecem de funcionalidades importantes, como validação ou otimizações para dispositivos móveis. No mundo atual, onde performance e experiência do usuário são prioridades,Como adicionar máscara nos campos do formulário do Elementor – plugin gratuitoSim, eu tenho certeza que você já ter se perguntado: por que o formulário do Elementor não tem máscaras para os campos? Comigo não foi diferente, então pra ajudar desenvolvi um plugin gratuito para te ajudar a resolver esse problema de uma vez por todas! Adicionando as máscaras ao formulário Primeiro, você precisa baixar oExecutar ação após o pagamento ser confirmado no WooCommerceAi chega aquele requisito de executar uma ação apenas após a confirmação de pagamento do pedido (através do WooCommerce, é claro), como é que faz? Há algum tempo atrás precisei fazer isso e achei aqui nas minhas anotações esses dias, então resolvi compartilhar! O WooCommerce já tem uma action prontinha pra gente utilizar, e elaComo centralizar o botão enviar do Contact Form 7O contact form 7 é um dos plugins mais utilizados para formulário no WordPress. Ele tem um visual simples, mas tem milhares de possibilidades de customização. Alguns temas, plugins e até page builders trazem algumas opções de customização de estilo mais avançada para seus formulários. Mas, nem sempre você encontra exatamente o que gostaria. EComo centralizar as tabs do Elementor?Você já precisou utilizar o widget de tabs (ou Abas) do Elementor, e precisava centralizar as tabs, mas não achou essas opções no widget? Você não é o único! Tenho recebido com certa frequência essa dúvidas, então, sem muita enrolação, vamos pra solução! Como centralizar as tabs? É simples, você vai precisar utilizar um código