Blog · Atualizações

O que mudou, semana a semana.

12 notas de versão, da mais recente à primeira.

Semana 23 — Contatos e Lembretes. A Arara agora tem memória.

Contatos com auto-discovery em outbound/inbound/webhook, lifecycle worker hourly, reactivation batch, CSV export, drawer com timeline. Lembretes com import de CSV de agenda. Smart-link campaigns. Trust level unificando quality guards. Onboarding v2 com goals + self-send antes do paywall + loop d1/d3.

  • Contatos com lifecycle e auto-discovery
  • Lembretes com import de agenda
  • Onboarding v2 com aha antes do paywall

Semana de dar memória pra Arara e antecipação pro cliente.

Contatos

Toda mensagem que sai ou entra agora vira ficha viva. Auto-discovery nos 3 paths (send outbound, expander de campanha, inbound do Twilio + webhook genérico). Backfill histórico dos receivers existentes. Lifecycle fields + indexes — status calculado por hourly worker (engajado / silencioso / dormente). Tags column.

Endpoint de stats com breakdown por lifecycle. Reactivation batch endpoint — 1 chamada, vira campanha contra dormentes. CSV export. Mensagens timeline por contato. Filtro por lifecycle. Split list/search pra evitar lower(null) em JPQL.

Frontend: drawer com timeline + inline edit, bulk select bar, dialogs de new/import, adaptive CTA. Filtro lifecycle wired. opt_out/opt_in marca contato no register.

Lembretes

Tela nova no dashboard com import de agenda em CSV. Lembrete sai sozinho na véspera no WhatsApp. Confirma, cancela, libera horário. Isenção do cap free pra templates aprovados de consulta. Copy genérica (não clínica-específica) — serve clínica, salão, advocacia, qualquer agenda.

Smart-link campaigns

Smart-link agora amarra em campaign. Phone tier cap + reconcile do stripe-customer. Fonte única de verdade pra números (pool via org IS NULL + flag orgs). Remove sync de legado + limpa número compartilhado salvo como dedicado.

Trust level

Antes quality guards eram espalhados (moderation, throttle, account status, plan). Unificou via org.trust_level — calcula uma vez, todo guard pergunta a mesma fonte. Menos drift, menos surpresa.

Onboarding v2

Goals na entrada (3 intenções), prova self+2, loop d1/d3 (email volta), recuperação no plano free. Self-send aha antes do paywall nas 3 intenções — quem vê funcionar primeiro converte mais. Gate só por needsInitialOnboarding (quem concluiu não volta). Backfill onboarding_completed_at dos existentes.

Dashboard adaptativo por persona, gate de pro, animações. Card de integração no overview do operador. CTAs do faturamento priorizam assinar plano (MRR), não recarga avulsa.

Polish de release

  • Redesign do login com brand-logo + Geist + mascote nos 2 temas
  • LP com grid pontilhado, recuperação dinâmica, confiabilidade consolidada
  • Termos e privacidade alinhados ao novo tema visual
  • Dashboard aponta pra ararahq.com direto (new.ararahq.com redireciona)
  • Crash NonUnique no envio fixado + desliga auto-suspend por taxa de falha
  • Auto-recharge só liga após backend confirmar
  • Selo Pro+ aparece só quando feature tá bloqueada pro plano
  • Recuperação ganhou CTA de conversão, affordance dos gatilhos, microcopy

Semana 22 — tema, foto, email novo. E cold outbound começou.

Toggle tema claro/escuro na LP e dashboard. Foto real da arara no login. Email v6 editorial (5 iterações em uma noite). SES event tracking via SNS+SQS. Cold outbound começou pra ecommerce. Home reposicionada multi-ICP. Dedicated numbers no Pro/Business.

  • Tema claro/escuro everywhere
  • Email v6 editorial
  • Cold outbound em prod

Semana de polir tudo que tava cinza e ligar canal novo de aquisição.

Tema claro/escuro

Toggle claro/escuro na landing E no dashboard. Tema escuro virou default. Bati em vários modais e popovers que ficavam ilegíveis no claro — webhook delivery, notificações, faturamento. Bateu tudo. Quem rodava no claro antes tava tomando branco no branco; quem roda agora vê informação.

Foto real no login

Trocou a ilustração genérica por foto da arara real no painel de login. Mascote ganhou contorno preto/branco pra funcionar nos 2 temas. Novo logo no header, brand-logo + Geist nos 2 temas. Gate /brand pra @ararahq.com e remove do menu público.

Email v6 editorial (5 iterações)

Notificações transacionais saíam do default Spring — feio, sem identidade, com PNG quebrando em client de email. Refiz tudo:

  • v3 editorial — Georgia hero 42px, bulletproof teal button, logo via /email-assets
  • v4 — hero teal, dark footer com pena SVG, bulletproof button fix
  • v5 — typography-only, sem imagens externas, button sem wrapping table
  • v6 — amber CTA, number drama, tag chips, sign-off, transparent brand assets

16 templates migrados pro novo layout. SES adapter, preferences, unsubscribe, tracking via SNS+SQS (Send/Bounce/Delivery/Complaint/Open/Click). Cross-reference SES events com email_send_log via tag, depreciei pixel próprio.

Cold outbound pra ecommerce

Começou o canal de cold outbound. Worker + admin endpoints + campanha ecommerce mid. Broadcasts com admin endpoint pra v2 launch email com A/B split. Não é spray-and-pray — é vertical (ecommerce mid-size), com hook específico.

Home reposicionada multi-ICP

Home reposicionada pra multi-ICP (builder + operador) com SEO e contador do Q1. Mobile menu com drawer accordion. Página de confirmação de troca de email (corrigiu 404 que rolava antes). Annual billing toggle no faturamento e onboarding.

Polish que importa

  • Dedicated numbers incluídos no Pro (1) e Business (3) — pricing visível no slot banner
  • Plano FREE ativa direto sem pagamento (sem PIX/checkout)
  • Reduz falso positivo de moderation (scam ampla, political, urgency viram warning, não block)
  • AUTHENTICATION (OTP) bypassa moderation por padrão
  • API key aceita em recovery, smart-links, wallet, phone-lookup, organizations/me, auth/me
  • Notify finance + slack on every confirmed purchase pra emissão de NF-e

Semana 21 — Brain ganhou setup, Recovery ganhou cara, CLI ganhou OAuth

Brain v2 saiu com setup wizard de 5 passos e voice card. Recovery dashboard redesenhado com hero 'valor recuperado'. OAuth device flow pro arara-mcp com 12 scopes granulares. Stripe Embedded testado e revertido por falta de dark mode. Welcome bonus 30% via assinatura.

  • Brain v2 com setup wizard
  • Recovery dashboard com hero
  • OAuth device flow pro CLI/MCP

Semana de tirar o Brain do limbo e amarrar fios soltos no produto.

Brain ganhou setup

O Brain tinha tudo por dentro, mas faltava cara de produto. Saiu setup wizard de 5 passos + voice card. Hierarquia visual: hero toggle+modo unificados, sandbox empty state, prereqs compactos, teal menos ruidoso. Default virou visão simplificada (sandbox + 1 decisão), bruto vai pra ?advanced=1. Anti-idiota: hero deixa explícito ON/OFF, dica de qual modo escolher, "chunks" virou "trechos indexados".

Trust strip acima da fold + comparison table vs Take Blip/Octadesk/Botconversa + métricas honestas (capacidade, não resultado inventado). Brain dashboard com KPIs no topo, leads HOT widget, live conversations pill, modo Autônomo recomendado, sandbox no fim.

Cap mensal de 1.500 conversas + endpoint /v1/brain/usage. Gate de ativação endurecido — bloqueia ligar com pré-requisitos pendentes.

Recovery dashboard ganhou hero

Recovery virou tela de vender. Redesenho com hero "valor recuperado" + per-event cards. Self-service activation CTA quando não tem endpoint. Unified event cards + switch contrast + integration/history routes. KPI strip, popular badge, real code tabs, docs link.

OAuth device flow

arara-mcp registrado como device flow client. SCOPE_LABELS expandido com cli:full, mcp:full e 12 scopes granulares. Multi-org membership via user_organizations M2M. CLI capture listener (RFC 0003 backend). Real /v1/stream SSE controller com per-org publisher.

Stripe Embedded inline (e o revert)

Tentei Stripe Embedded inline no wizard pra evitar a saída de página. Funcionou tecnicamente. Voltei pra Checkout hosted no mesmo dia — Embedded não tem dark mode, ficou off-brand. Aprendizado: bonito tecnicamente não é bonito visualmente. Stripe success agora redireciona direto pro /dashboard?just_paid=true (sem tela intermediária).

Welcome bonus 30%

Substituí o "+30% na 1ª recarga" pelo bônus de boas-vindas 30% do plano na assinatura. Mais simples de comunicar, ativa mais cedo. Banner pós-pagamento direto no dashboard com hierarquia recarga > número > template.

Semana 20 — joguei o v2 inteiro em produção

Dashboard redesenhado em 5 arquétipos, Brain virou produto de verdade (RAG + voice PT-BR + lead qualifier HOT/WARM/COLD + safety stack), planos com gates (FREE/89/349/899), onboarding self-serve WhatsApp via Twilio+Salvy+Meta Embedded, OpenAPI + páginas dedicadas pra indexar em LLM.

  • v2 do dashboard em prod
  • Brain com RAG, voice e lead qualifier
  • Onboarding self-serve WhatsApp

Semana mais pesada do trimestre. O v2 deixou de ser branch e virou prod.

Dashboard redesenhado

Refatorei o dashboard inteiro em 5 arquétipos de tela (Overview, List+Detail, Settings, Wizard, Locked/Upsell) e apliquei consistentemente em 12+ telas. Geist como única fonte, 4 níveis de superfície dark, teal só em ação primária. Saiu também o aha moment forçado: poll na primeira mensagem + confetti quando ela cai. Activation checklist persistente. Recharge em 1 clique com estados amber/red por saldo.

Brain virou produto

O Brain saiu do limbo de "feature técnica" e ganhou o que faltava pra ser vendável:

  • RAG multi-stage — query rewrite, hybrid BM25/vector via RRF, Cohere rerank, context compression, semantic chunking
  • Voice PT-BR — transcrição via Vertex Speech-to-Text de áudios WhatsApp inbound (40-60% das mensagens BR são áudio)
  • Lead qualifier — 4 scores (intent/budget/urgency/fit) com evidências citadas, briefing HOT, auto-handoff
  • Safety stack — jailbreak detector ponderado, output moderator (PII/URL/meta-leak), audit trail completo
  • Agent loop — plan + act + reflect com critique injection, tool calling tipado, eval harness com LLM-as-judge
  • Observability — Micrometer metrics (turns/latency/cost/tools/cache/jailbreak), semantic cache Postgres, Vertex→OpenRouter fallback

Planos novos com gates ativos

FREE (zero recorrência), Starter R$ 89, Pro R$ 349, Business R$ 899. PlanGuardService cravado em Message/Campaign/Conversation/Brain/Invitation/Template. Wallet pré-paga é o limite natural do FREE — sem cap de mensagens, paga pelo uso. Brain add-on R$ 250/mês, seat extras R$ 79/mês.

Onboarding self-serve WhatsApp

Antes era reunião comigo. Agora é fluxo: Meta Embedded Signup + Twilio Senders v2 + Salvy provisiona número. BYOA via FB.login Arara. SMS colado dentro do popup Meta (não via Twilio Verify). Endpoint de reset pra começar do zero.

SEO pra LLM

Páginas dedicadas /agents, /mcp, /skills, /cursor, /claude, /chatgpt, /codex + llms.txt + robots.ts + sitemap atualizado. OpenAPI spec via SpringDoc em /v3/api-docs e /docs (Swagger UI) — gera SDK em ChatGPT Actions, Cursor, Claude, etc.

Semana 19 — primeiro update semanal

Mudamos a cadência do build in public pra semanal. Toda quarta sai o update da semana anterior aqui e no Insta. Primeira semana já tem MRR R$ 14.860 (+R$ 480 vs semana passada) e 2 fintechs novas em onboarding.

  • MRR R$ 14.860 (+R$ 480)
  • +2 fintechs em onboarding
  • Cadência semanal começou

Mudei a cadência: até agora a gente postava update mensal. Daqui pra frente é semanal, toda quarta — sai o que rolou na semana anterior.

Por quê? Porque mensal demora demais pra mostrar tração real. Sete dias é o ciclo certo pra falar de MRR, churn, decisão técnica, customer feedback. E a Rebeca vai começar a postar resumão visual no Instagram da Arara — vai sair direto desse mesmo conteúdo.

O que rolou essa semana

  • +2 fintechs assinaram Pro — uma vinda do indica do João Almeida, outra entrou self-service
  • Bug em Idempotency-Key: edge case onde retry com chave repetida em < 50ms duplicava. Fixado, post-mortem na próxima semana
  • Embedded signup performando: 8 dos 12 signups novos vieram pelo fluxo embedded Meta. Confirma que o esforço da aprovação Tech Provider valeu

MRR R$ 14.380, +17% no mês

Fechamos abril em R$ 14.380 de MRR (+17% vs março). 47 pagantes ativos. Churn subiu 0,3pp por causa de 1 cancelamento — o cliente pivotou o produto, nada relacionado à Arara. NPS bateu 62.

  • MRR R$ 14.380 (+17%)
  • 47 pagantes ativos
  • NPS 62 (n=31)

Último update mensal. Daqui pra frente é semanal — explico mais no próximo.

Resumão de abril

  • MRR R$ 14.380 vs R$ 12.200 em março. +R$ 2.180. +17,8% MoM
  • 47 pagantes (8 novos, 1 churn — pivot do cliente)
  • NPS 62 (31 respostas) — subiu 8 pontos vs março
  • Mensagens enviadas no mês: 892k

O que tirou MRR pra cima

5 dos 8 novos clientes vieram do embedded signup (aprovação Meta Tech Provider em fevereiro segue rendendo). 2 vieram de indicação direta de cliente atual. 1 veio do post de Idempotency-Key no /blog.

Próximo mês

  • Bater R$ 17k MRR (média semanal de +R$ 600)
  • Lançar SEO pages /comparar/arara-vs-{twilio,zenvia,messagebird}
  • Cadência semanal de update no /open + Instagram

Semana 17 — primeiro mês com fintech grande

Helena Pay assinou Business (R$ 899/mês). Validou que a Arara entrega pra fintech, não só e-commerce. Trabalho de migração foi 2 semanas — a gente assumiu integralmente.

  • Primeira fintech Business
  • Migração assumida
  • MRR R$ 13.480

Helena Pay (gateway de PIX/boleto) trocou Twilio pela Arara essa semana. Plano Business (R$ 899/mês) + recarga inicial de R$ 4k.

Por que isso é grande

Até agora todos os clientes Business eram e-commerce. Helena é a primeira fintech — valida que o produto entrega num vertical com outras dores (PCI, latência, compliance LGPD).

Migração

Acabou levando 2 semanas completas. Pegamos:

  • Provisioning do número via embedded signup
  • Migração de 12 templates aprovados na Meta
  • Reescrita do código de envio (de Twilio.send pra arara.messages.send)
  • Setup de webhooks com signature HMAC

A gente assumiu o trabalho de migração inteiro — Pedro (CTO da Helena) só validou pull request e fez o deploy. Ele economizou ~40h de eng.

O que aprendi

  • Fintech precisa de mais documentação de compliance (LGPD, ISO27001) que e-commerce
  • O processo de migração assumida é caro pra gente (~16h Thaiana + 8h Micael), mas vira case fortíssimo
  • Pricing de R$ 899 pra Business é provavelmente baixo demais pro que entrega

Semana 16 — Tech Provider Meta aprovado

A gente foi homologado oficialmente como Meta Tech Provider. Embedded signup liberado, setup do cliente vira self-service em 5 min. Foi 4 meses de espera.

  • Meta Tech Provider ✅
  • Embedded signup live
  • Setup 5 min self-service

Aprovados como Meta Tech Provider. Quatro meses de espera, 3 rodadas de revisão técnica, agora é oficial.

O que muda

Antes do embedded signup:

  • Cliente criava conta Meta Business manualmente
  • Pedia acesso à WABA (WhatsApp Business Account)
  • Esperava a gente conectar via API admin
  • Setup levava 2-7 dias

Agora:

  • Cliente clica "Conectar WhatsApp" no dashboard Arara
  • Faz login Meta inline
  • Aprova permissões num modal Meta
  • Setup em 5 minutos, sem ticket

Impacto esperado

Espero que conversão signup → primeiro envio dobre. Com setup manual a gente perdia ~30% dos signups que desistiam no provisioning. Próximo mês conta o número.

Próximo passo

Reescrever onboarding email pra empurrar o embedded signup. Atualizar /plataforma/envio com mockup do fluxo.

v1.9 — Expansão de SDKs & confiabilidade

SDKs oficiais Java e Python atualizados, motor de validação de templates refinado pra mídias dinâmicas complexas, documentação v3.5 com exemplos em 5 linguagens.

  • SDKs Java + Python atualizados
  • Validação de template + estável
  • Docs v3.5 em 5 linguagens

Continuamos a jornada de tornar a Arara a infraestrutura de mensageria mais robusta do Brasil. Essa versão foca em expansão de ecossistema e estabilidade do template engine.

O que mudou

  • Novo · SDKs oficiais Java & Python — atualizações importantes pra integração mais fluida e segura em todas as operações de envio
  • Melhoria · Estabilidade do editor — motor de validação de templates refinado, garantindo precisão e conformidade Meta em casos complexos de mídias dinâmicas
  • Melhoria · Documentação v3.5 — guia de referência da API atualizado com exemplos práticos em 5 linguagens

Por que isso importa

Validação ruim de template é o pior erro silencioso: você acha que mandou, Meta rejeita, cliente fica sem mensagem e você sem aviso. Refatoramos esse caminho inteiro.

v1.8 — AI Mastery + SDKs Node & PHP

Primeira API de WhatsApp do Brasil com llms.txt nativo (Cursor, Claude, GPT integram em segundos). Novos SDKs Node (@ararahq/sdk) e PHP (Packagist). Escudo de erros v1.8 com Unicode completo.

  • llms.txt nativo · primeira no BR
  • SDK Node + PHP publicados
  • Unicode completo em validação

Encerramos a semana com a Arara virando infraestrutura de mensageria moderna de verdade — não só API de envio.

Highlights

  • Novo · AI Mastery (llms.txt) — primeira API de WhatsApp do Brasil com suporte nativo a Agentes de IA. Documentação machine-readable, integração via Cursor/Claude/GPT em segundos
  • Novo · SDKs oficiais Node & PHP@ararahq/sdk no NPM e ararahq/sdk no Packagist. DX de elite pro ecossistema JS moderno e compatibilidade total com PHP ^8.2 (Laravel/WooCommerce)
  • Melhoria · Conectividade soberana — integração nativa com Fluke pra provisionamento de números oficiais de alta qualidade e roteamento inteligente
  • Melhoria · Escudo de erros v1.8 — validação de templates aprimorada com Unicode completo (acentuação BR) e variáveis em cabeçalhos
  • Melhoria · Docs Premium v3.1 — refinada e minimalista, foco em guias de ação rápida

Por que llms.txt importa

Cliente novo abre Cursor, pede pra IA "integra Arara no meu app Express" e funciona. Sem ler doc humana. Aposta nossa: nos próximos 12 meses, IA integra mais APIs do que humano.

v1.7 — Webhooks Universais + HMAC + Templates Studio

Motor de webhooks centralizado com HMAC-SHA256 (X-Arara-Signature). Nova API de templates agnóstica com escudo de erros em tempo real. Smart Links com Raio-X de cliques.

  • Webhooks Universais
  • HMAC-SHA256 nativo
  • Templates agnósticos + Raio-X

Versão que consolida a Arara como "Resend para WhatsApp" — nível de infra Stripe/Resend, mas no canal certo.

Major

  • Novo · Webhooks Universais — motor centralizado de notificações em tempo real. Eventos de entrega/leitura (message.status_updated) e aprovação de templates (template.updated) instantâneos
  • Novo · Segurança HMAC-SHA256 — proteção do backend via header X-Arara-Signature. Segurança nível bancário pra automações
  • Novo · API de Templates agnóstica — gerenciamento de modelos com escudo de erros que valida botões e cabeçalhos em tempo real, minimizando rejeição Meta
  • Novo · Documentação 2.0 — guias técnicos detalhados de webhooks, templates e diagnósticos

Improvements

  • Smart Links & Raio-X — rastreamento automático de 100% dos links em sessões, variáveis de template e mídias recebidas
  • Arara Diagnostics — erros técnicos da Meta agora vêm traduzidos em explicações amigáveis com plano de ação

v1.5 — Sandbox + Hello World + Logs traduzidos

Fim de semana de War Room. Carteira sandbox R$ 1.000 fictícios, fluxo Hello World pra primeira mensagem em segundos, logs traduzidos de SID Meta pra nome de template. Migração pra Google OAuth.

  • Sandbox dual-wallet
  • Hello World em segundos
  • Logs com nomes legíveis

Primeira atualização que tira a Arara do MVP e leva pra infra confiável. Fim de semana de War Room dos founders, foco em reduzir fricção de onboarding e estabilidade.

Highlights

  • Novo · Ambiente Sandbox (Dual-Wallet) — carteira exclusiva com R$ 1.000 fictícios. Simule cobrança, erros HTTP 402, estresse a integração sem gastar (Painel Âmbar)
  • Novo · Onboarding Hello World — fluxo automático: dispara mensagem real pro teu WhatsApp em segundos pra validar conexão e API key
  • Novo · Logs Inteligentes — sistema traduz SIDs técnicos da Meta (HX123...) pros nomes reais (campanha_natal)

Improvements

  • Checkout Instantâneo (AbacatePay) — verificação via WebSocket/Polling. Saldo libera no exato segundo da confirmação do PIX
  • Custo Real Preciso — debitado da carteira reflete custo exato da sessão 24h Meta + taxa de processamento
  • Autenticação Unificada (Google OAuth) — padronizamos. Login GitHub descontinuado (usuário antigo loga via Google com mesmo email)

Fixes

  • Autenticação Híbrida — resolvido conflito JWT vs API Keys. Gateway identifica corretamente requisições servidor vs painel, eliminando 403
  • Performance — redução drástica de latência no handshake de segurança POST → entrega WhatsApp