[PITCH] Elora: quatro decisões técnicas por trás de um cartão de visita digital
A Elora está no ar: é um cartão de visita digital para quem trabalha com o próprio nome. A pessoa cria um endereço com o nome dela, monta o cartão com contato, links, agenda e formulário, e compartilha por link, QR Code ou Google Wallet.
Em vez de falar das funcionalidades, quero contar quatro decisões técnicas que tomaram mais tempo do que esperávamos. Talvez sirvam para quem está construindo algo parecido.
1. Plano gratuito que esconde em vez de apagar
Quando o teste de 7 dias acaba ou a pessoa volta para o Free, nada é apagado. O cartão público mostra só os primeiros itens até o limite do plano (5 links, 3 fotos, e assim por diante) e o resto fica guardado. Se ela assinar de novo, tudo volta. A regra mora num lugar só, na montagem do cartão público, e o editor avisa quais links ficam fora do cartão naquele plano. Salvar também não trava: links antigos acima do limite continuam salvos e só inclusões novas são recusadas.
2. Prévia do link no WhatsApp e no LinkedIn sem renderizar o app
O site é uma SPA em React. Robôs de prévia (WhatsApp, LinkedIn, X, Telegram, Slack e outros) não executam JavaScript, então o link do cartão mostraria a prévia genérica do site. No nginx, um map pelo User-Agent manda esses robôs para uma rota da API que devolve só as meta tags e uma imagem gerada no servidor com a foto, o nome, a frase e o endereço da pessoa, nas cores do tema do cartão. Os buscadores continuam recebendo o site normal.
3. Rotação de refresh token com várias abas abertas
Usamos rotação de refresh token com detecção de reuso: se um token já girado volta, todas as sessões da conta caem, porque isso costuma ser roubo. O problema é que duas abas renovando ao mesmo tempo com o mesmo cookie também parecem reuso. A solução foi agrupar os tokens por sessão (família) e aceitar, por 10 segundos depois da rotação, uma renovação a mais da mesma família, com teto de emissões. O logout apaga a família inteira, então um token antigo não ressuscita a sessão.
4. Medir visitas sem rastreador
Não há pixel de anúncio nem ferramenta de analytics de terceiros. Visitas, cliques e origem são registrados pelo próprio backend, o aviso de cookies diz exatamente isso, e o dono do cartão vê os números no painel.
A pilha: NestJS com Prisma e MySQL, Redis com BullMQ para a fila de e-mails, React com Vite e React Query no site, arquivos num armazenamento compatível com S3 e pagamentos pelo Asaas (Pix e cartão). Tudo roda numa VPS com Coolify, atrás de um túnel do Cloudflare.
O plano Free fica no ar, e as 100 primeiras contas confirmadas entram no plano Fundadores, grátis até 2030. Se você testar, críticas são muito bem-vindas, principalmente sobre o editor e a velocidade do cartão no celular: https://elora.tetriabrasil.com.br
Na Tétria também colocamos no ar a Íris, que encontra clientes para pequenos negócios. Ela tem um post próprio aqui no TabNews: https://www.tabnews.com.br/TetriaBrasil/iris-como-evitamos-mensagem-duplicada-no-whatsapp-e-ia-prometendo-o-que-a-empresa-nao-faz