01 · BI completo da operação
Painel que reúne todos os números da operação num só lugar
Pra sua loja: um lugar só onde você vê o lucro real de cada anúncio, produto e canal — e decide sem achismo.
O desafio
O número da operação vivia espalhado: anúncios numa tela, pedidos noutra, estoque e financeiro à parte. Faltava uma visão geral única — um BI que cruzasse tudo, sem dupla contagem, para decidir sobre dado real.
O que construí
Um BI completo que puxa dado de todos os lados — pedidos da Shopify, gasto de Meta e Google, estoque, financeiro, afiliados e metas — e calcula o retorno por atribuição last-click não-direto. Banco MariaDB (~106 mil pedidos, tabela de 540 MB) com índice composto, API JWT e servidor MCP com RAG (Qdrant + bge-m3) para perguntar qualquer número em linguagem natural.
Stack
Node.jsMariaDBShopify APIMeta GraphJWTQdrantMCP
O resultado
KPIs de 7,8 s → 224 ms ao corrigir o índice; query pesada de 19 s → 467 ms ao dimensionar o buffer pool. Virou o painel único de decisão da operação.
02 · Automação de mídia
Robô que ajusta o orçamento dos anúncios sozinho
Pra sua loja: a verba sobe no que dá lucro e corta o que perde — sozinho, todo dia, sem alguém mexendo no feeling.
O desafio
Ajustar dezenas de campanhas na mão não escala — e escalar sobre ROAS inflado queima caixa. Precisava automatizar a decisão sobre o número real, com travas.
O que construí
Robô Python que lê o sROAS e ajusta orçamento por regra: só sobe acima de 1,5, reduz abaixo de 1,0 e nunca aumenta abaixo de 1. Teto diário soft + kill imediato de quem gasta demais com sROAS baixo.
Stack
PythonMeta Marketing APIShopifyDocker Swarmcron
O resultado
Escala 24/7 por regra, sem intervenção manual, com duas travas de sROAS protegendo o caixa.
03 · Storefront & ticket médio
Vitrine que sugere o produto certo para cada cliente
Pra sua loja: cada cliente vê o produto certo pra ele, o carrinho cresce — e você não paga mais anúncio por isso.
O desafio
O app genérico sugeria produtos sem nexo. A 1ª versão própria, só por lift de co-compra, inflava pares raros e matava o complemento dos best-sellers.
O que construí
Motor híbrido com três sinais rank-normalizados: co-compra por cosseno, similaridade semântica (bge-m3/Qdrant) e popularidade. Intenções complemento/substituto, diversidade por família, penalidade de preço e flag de rollback.
Stack
Node.jsSQLiteQdrantbge-m3Shopify Liquid
O resultado
Recomendação coerente em 100% do catálogo (cold-start via semântico), rollback por flag. Mais itens por pedido, sem mídia.
04 · Retenção
Resgate automático de carrinho abandonado
Pra sua loja: boa parte de quem abandona o carrinho volta e compra — no automático, sem queimar cupom à toa.
O desafio
A recuperação nativa era um e-mail atrasado. E um bug chegou a mandar cupom para quem já comprou — queimando margem.
O que construí
Fluxo por evento de checkout, dual-channel (e-mail + WhatsApp): lembrete em minutos, quebra de objeção, incentivo só no fim. Guard anti-cupom-indevido checando pedido concluído por contato, e-mail, telefone e ID Shopify.
Stack
PythonRedisWhatsApp APIActiveCampaignShopify webhooks
O resultado
Fluxo rápido no lugar de um e-mail perdido, com trava anti-cupom. A receita mais barata da loja.
05 · Tracking server-side
Rastreamento que faz o anúncio enxergar cada venda
Pra sua loja: o anúncio volta a enxergar cada venda e otimiza melhor — mesmo com bloqueio de cookie no navegador.
O desafio
Com bloqueio de cookie, o pixel perdia conversão e o algoritmo otimizava cego. E o gasto não voltava pra Shopify, travando o cálculo de retorno real.
O que construí
Tracking server-side enviando cada pedido ao Meta via Conversions API com dedup por event_id e hashing de PII (EMQ), + conector que puxa gasto do Meta Graph e GA4 e injeta na Shopify — idempotente, cron diário.
Stack
Node.jsConversions APIGA4 Data APIShopify Engagementscron
O resultado
Pixel enxergando conversão sem cookie e gasto atribuído dentro da loja — dado limpo alimentando o algoritmo.
06 · CRM inteligente
CRM que cuida do cliente do carrinho ao pós-venda
Pra sua loja: um só sistema cuida do cliente do carrinho ao pós-venda, com WhatsApp disparando na hora certa.
O desafio
Várias lojas precisavam do mesmo CRM sem manter código diferente por marca, e sem que um bug numa respingasse nas outras.
O que construí
CRM Node + MongoDB com deploy por patches versionados sobre imagem base (cada tenant é rebrand com tag fixa). Automações por override em banco, cupom via OAuth próprio e rastreio no WhatsApp. Webhooks acionam os fluxos.
Stack
Node.jsMongoDBDockerShopify OAuthWhatsApp
O resultado
Um só código servindo várias lojas, com isolamento que evita uma marca quebrar a outra.
E ainda
Outros sistemas que subi
App Shopify de carrinhos
Remix + Prisma + MariaDB, jobs em cron.
Monitor de preços
Compara com Google Shopping e alerta no WhatsApp.
SaaS multi-tenant
Mini-Shopify SSR, PII cifrada, SSL por domínio.
Sync de estoque de kits
Webhook mantém kits coerentes em tempo real.
Portal B2B
PII AES-256-GCM por campo, CNPJ por HMAC.
Conector de adspend
Consolida gasto Meta+Google para painéis.
ver todos os projetos em detalhe →