Código e Automação
17 de abr. de 2026
Go back
🐱 Kitty Chat React 2.0: evolução para infraestrutura própria com SQLite e DigitalOcean
Autor: Rafael Lins
Veja a evolução do Kitty Chat React: saída do Supabase, backend próprio em Node.js, SQLite e nova arquitetura mais leve e controlada.

Fique por dentro do que há de mais relavante no Marketing Digital, assine a nossa newsletter:
O Kitty Chat React evoluiu.
O que começou como um experimento de feedback com emojis usando Supabase agora se tornou uma solução mais madura, enxuta e controlada, com backend próprio, banco local em SQLite e hospedagem na DigitalOcean.
Essa mudança não foi apenas técnica — foi uma evolução de arquitetura baseada no uso real do projeto.
Contexto: da primeira versão à realidade de uso
👉 https://adrock.com.br/blog/kitty-chat-react-feedback-emojis-supabase
Na versão anterior, o Kitty Chat foi construído com:
frontend em React
backend com integração Supabase
comentários opcionais
dashboard público
persistência em cloud
Essa abordagem foi importante para validar o conceito.
Mas no uso real do blog, ficou claro que:
o valor estava no widget simples
a leitura rápida de sentimento era suficiente
a complexidade da stack não se justificava
O problema: dependência do Supabase Free
O principal ponto de fricção era operacional.
A dependência do plano gratuito do Supabase trazia:
instabilidade em períodos sem uso
necessidade de reativação
dependência externa desnecessária
aumento de complexidade para um caso simples
Em resumo: o projeto estava mais complexo do que precisava ser.
A decisão: simplificar a arquitetura
A segunda evolução do Kitty Chat seguiu um princípio claro:
reduzir dependências e aproximar o sistema do seu uso real
O que saiu:
Supabase
dashboard público acoplado
sistema de comentários
complexidade desnecessária
O que entrou:
backend próprio em Node.js
API com Express
banco local em SQLite
painel privado com autenticação
controle total da infraestrutura
Nova arquitetura
Frontend
React
TypeScript
Vite
Tailwind CSS


Backend
Node.js
Express
cookie-parser
bcryptjs
Banco de dados
SQLite com better-sqlite3
Infraestrutura
DigitalOcean (servidor próprio)
PM2 para gerenciamento de processos
Como o widget funciona hoje
O comportamento visual continua simples, mas o fluxo técnico evoluiu.
Cada interação envia para a API:
URL completa
path da página
título do documento
emoji selecionado
label emocional
score numérico
timestamp
Além disso, o sistema resolve corretamente o contexto da página mesmo em embeds, utilizando:
canonical
og:url
document.referrer
contexto pai
Isso transforma o widget em uma ferramenta editorial real.
Leitura de sentimento sem IA
Uma decisão importante foi não usar IA.
O sistema utiliza um mapeamento direto:
😭 = -2
😕 = -1
😐 = 0
😊 = 1
🤩 = 2
Com isso, é possível gerar:
sentimento médio do blog
sentimento por post
distribuição por emoji
ranking por volume
ranking positivo
ranking negativo
Sem dependência de NLP ou LLM.
Painel privado
O projeto agora possui um painel próprio protegido por login.
Disponível em:
https://mobiledelivery.com.br/kitty-chat/
O painel entrega:
total de reações
posts monitorados
sentimento médio
taxa positiva
rankings
busca por conteúdo
análise por post
timeline de eventos
O sistema deixou de ser apenas um widget e virou uma camada editorial.
Por que SQLite foi a melhor escolha
Para esse caso, SQLite resolve melhor que um banco externo.
Motivos:
elimina dependência externa
reduz custo
simplifica deploy
facilita backup
roda junto da aplicação
atende perfeitamente o volume
Nem todo projeto precisa de arquitetura distribuída.
Ganhos da nova arquitetura
Controle total
Toda a coleta e análise estão sob sua infraestrutura.
Redução de fricção
Sem dependência de serviços gratuitos instáveis.
Foco no que importa
O projeto agora é focado no widget e na leitura de dados.
Melhor leitura editorial
Cada reação está vinculada corretamente ao conteúdo.
Evolução de produto
A principal mudança não é tecnológica — é de maturidade.
Antes:
experimento expandido
múltiplas funcionalidades
foco em possibilidades
Agora:
produto focado
uso claro
leitura acionável
arquitetura coerente
Conclusão
O Kitty Chat 2.0 não é maior.
É mais correto.
Ao remover dependências e simplificar a arquitetura, o projeto ganhou:
autonomia
estabilidade
clareza de uso
eficiência operacional
É um exemplo prático de como evoluir um projeto técnico com base no uso real.
Destaque
O Kitty Chat deixou de ser um experimento com Supabase e virou uma infraestrutura própria de leitura de sentimento editorial, baseada em backend próprio, SQLite e controle total da operação.
Se você trabalha com conteúdo, produto ou marketing e quer transformar interações simples em dados acionáveis, essa arquitetura mostra que dá para fazer isso com uma stack enxuta, própria e sustentável.
Go back




