João Pedro Gaspar

Integralmédica / Darkness

Duas marcas de suplementação num só admin — e um monte de regra de negócio que o Shopify não tem. Quando não tinha, eu construí o app.

Cliente
Integralmédica · Darkness
Papel
Liderança técnica · Front-end · Apps Shopify
Ano
2025
Stack
Shopify HydrogenRemixOxygenShopify FunctionsCustom appsTypeScript

O que foi meu

  1. 01Liderança técnica do meio do projeto ao lançamento: duas vitrines headless com um admin e um repositório.
  2. 02Regras de promoção como Shopify Functions e os custom apps, incluindo o desconto de funcionário com cálculo invertido.
  3. 03A área “Minha conta” refeita do zero por marca, e as extensões de checkout.
integralmedica.com.br

1280 × 800

390 × 844

darkness.com.br
integralmedica.com.br
integralmedica.com.brMesmo template — arrastedarkness.com.br
FIG. 2Um admin, duas marcas — e as camadas que o Shopify não tinha.um admin Shopify221 admin → 2 marcasapps próprios20desconto de funcionáriopromoções18vale no checkoutblocos no checkout16info na hora de pagarminha conta14cara própria por marcaIntegralmédica10Darkness122 marcas · 1 admin · a mesma carao preço muda no checkout2 marcas · 1 admin
01 / 10

Problema ·Integralmédica e Darkness são duas marcas de suplemento num admin Shopify só. De fábrica, isso quer dizer a mesma página de conta para as duas, e promoções que o Shopify não faz.

FIG. 2Um admin, duas marcas — e as camadas que o Shopify não tinha.

Uma regra pequena de enunciar e impossível de configurar

Desconto de funcionário calculado sobre o preço comparado, não sobre o preço de venda. Todo app de prateleira faz o segundo. Então virou app.

Simulação. Dados ilustrativos, mecanismo real.

App de prateleira

R$ 74,95

price × 0.5

Regra desta loja

R$ 99,95

compareAt × 0.5

Diferença por item: R$ 25,00

Contexto

Integralmédica e Darkness são marcas de suplementação que dividem o mesmo admin Shopify e o mesmo repositório: duas storefronts headless com carrinho compartilhado entre elas. Entrei na metade do desenvolvimento e assumi a liderança técnica — daí em diante, toda funcionalidade e toda decisão passaram por mim, e a maior parte foi construída por mim também.

O problema técnico central

O carrinho compartilhado era a parte conhecida. O que fazia esse projeto ser difícil era outra coisa: o volume de regra de negócio que simplesmente não existe no Shopify de prateleira. Suplementação é uma categoria de mecânica promocional pesada, e as exigências do cliente batiam de frente com os limites do checkout e da área de conta nativos. A pergunta recorrente não era “como configuro isso”, era “isso não existe — construímos o quê?”.

O que eu construí

  • Mecânicas promocionais em Shopify FunctionsAs regras de desconto e promoção que a plataforma não entrega nativamente foram implementadas como Functions, rodando no lado do Shopify em vez de virar gambiarra no front.
  • Custom apps sob medidaVários apps próprios, com interface, para cobrir o que nenhum app de marketplace resolvia.
  • Desconto de funcionário com cálculo invertidoUm app com interface própria onde o desconto não sai do preço de venda: o cálculo parte do preço comparado e aplica 50% sobre ele. Uma regra pequena de enunciar e impossível de configurar num app pronto.
  • Área “Minha conta” do zeroA conta nativa do Shopify foi descartada e reconstruída inteira — identidade própria por marca, controle sobre como um pedido é exibido e filtrado, e abas que a nativa não comporta, como “Meus benefícios”, integrada ao programa de fidelidade.
  • Blocos de checkoutExtensões no checkout para levar informação e função para a etapa mais sensível da compra.
  • Relatórios e integrações de dadosDiversos relatórios, integrações com CRM e com scripts de terceiros — um volume relevante de dados saindo da loja para fora.
  • Seções institucionais e landing pagesConstrução de seções e páginas com customização profunda, para o time de conteúdo operar sem depender de deploy.

Por que foi feito assim

  • A conta nativa não sobrevive a duas marcasA account do Shopify é uma só por admin — e aqui um admin serve duas marcas. Na prática, isso é a mesma estilização para Integralmédica e Darkness, sem nem poder trocar o logo por marca: metade dos clientes entraria na conta e veria a identidade da outra. Junte a isso não controlar como um pedido é exibido ou filtrado, nem poder abrir uma aba nova — e a gente precisava de “Meus benefícios”, integrada ao programa de fidelidade. Reconstruir a conta inteira saiu mais barato que brigar com os três limites ao mesmo tempo.
  • Custom app em vez de assinatura de marketplaceA promoção que o cliente queria não existe nativamente. O caminho óbvio era assinar um app da App Store e seguir a vida — com uma mensalidade permanente no orçamento dele. Construí um custom app no lugar: instalado uma vez e com os produtos de brinde configurados, ele não pede manutenção recorrente nem cobra assinatura. Troquei um custo mensal perpétuo por um custo de construção único — e essa decisão só se defende porque a regra é estável. Se a mecânica mudasse a cada campanha, o app de prateleira ganharia.
  • Regra de promoção no Shopify, não no frontAs mecânicas promocionais foram implementadas como Shopify Functions, do lado da plataforma. Desconto que só existe no front-end é desconto que some no checkout — e o checkout é onde o cliente decide se confia na loja.

Status

Integralmédica e Darkness em produção. As duas vitrines estão no ar para inspecionar.

Próxima prancha · FIG. 3HSM / Singularity →