INK Connect
Onde os times da INK criam, agendam e medem as mensagens que o usuário vê dentro do painel, sem pedir deploy pra ninguém.
canais: banner, modal, tooltip, tour, pesquisa, notificação e e-mail
deploys no painel pra publicar uma comunicação nova
commits, 84% meus
por ano de economia projetada, somando e-mail e Intercom. É uma estimativa, porque os números reais não podem ser divulgados.
- Rails 8.1
- Hotwire
- Postgres
- SDK JS
- Shadow DOM
- AWS SES
O V0 foi da Michele. Rodrigo e Gregório também contribuíram.
O problema
Numa troca de ferramenta de suporte, a INK perdeu os banners e avisos dentro do produto que vinham com o Intercom, que eram o canal que melhor funcionava com o usuário. Sobrou o e-mail, que morava no Mailchimp: caro, com desempenho pior e com uma lista que divergia da base da INK. E qualquer aviso dentro do painel passou a depender de um dev mexer no código.
A construção
Peguei o V0 e transformei numa plataforma separada do painel, com sete canais. O painel da INK só carrega um script, o SDK, no mesmo modelo de Intercom e Pendo. Quem decide o que cada usuário vê é o Connect, consultando plano e tipo de loja direto nos dados da INK. Por isso publicar uma comunicação nova não exige deploy.
Cresceu canal por canal: banner, modal, notificação, tooltip, product tour, pesquisa e e-mail com editor em blocos. Depois vieram o calendário por time, o aviso de conflito e as métricas, pra ninguém bombardear o usuário com três modais no mesmo dia.
Por baixo
- Identidade assinada. O painel assina quem é a usuária e o Connect confere antes de responder, então ninguém se passa por outra loja.
- Isolado do painel. O SDK desenha tudo em Shadow DOM: o CSS do painel não quebra a mensagem e a mensagem não quebra o painel.
- Âncora que avisa quando some. Se um deploy muda a tela e o botão do tour desaparece, o passo vira card depois de 3 segundos e o Connect registra, pro time reapontar.
- Uma fila por visita. Banner e modal disputam um único espaço, em rodízio pelo que foi visto há mais tempo. É isso que deixa publicar mesmo com conflito.
- Pesquisa sem expor a lógica. A ramificação das perguntas fica no servidor; o navegador só recebe a pergunta da vez.
O resultado
Virou a ferramenta dos times pra anunciar novidade, guiar o usuário numa tela nova e puxar upgrade com base no uso de cada um. Substituiu os banners do Intercom e está preparando a saída do Mailchimp.
Fiz o estudo de preço do e-mail: com o Connect cuidando de público, editor e descadastro, o provedor vira só a entrega. Trocar o Mailchimp pela AWS custa um oitavo do que a INK paga hoje, uma economia estimada de R$ 68 mil por ano. Somando o suporte proativo do Intercom que deixamos de precisar, a estimativa fica em torno de R$ 120 mil por ano.
Qualquer time lança um modal sem pedir deploy
Marina quer avisar as usuárias de Essencial e Impulso que o moletom oversized chegou ao catálogo. Podia ser alguém de CS, Growth, Marketing ou Produto: todos os times da INK criam comunicação aqui.
A usuária encontra o modal no caminho
A dona da Estampa Viva está só usando o painel, como em qualquer dia.
O painel da usuária é uma réplica local, e o modal é entregue pelo SDK real do Connect. Nomes e números são fictícios.
A conta de build vs buy mudou. Construir custou semanas, e em troca a comunicação ficou do nosso jeito: segmentada pelos nossos dados e no calendário do nosso time.