← Projetos

Radar Hype

Monitora 20+ lojas de streetwear em tempo real, deduplica via Bloom filters do Redis e entrega alertas em menos de 2 segundos. Em produção com Kubernetes, Stripe e GitOps.

2024LiveFundador & Arquiteto Full-StackSaaSGrowth
  • Next.js
  • Node.js
  • Postgres
  • Redis
  • Stripe
  • Kubernetes
  • Helm
  • Traefik
~500 usuários
50k+ eventos/dia
<2s alertas
20+ lojas

Impact

  • Orquestração de scrapers para 20+ lojas independentes com schemas normalizados de produto. Alertas entregues em menos de 2s para 500+ usuários simultâneos.
  • Deduplicação via Redis Bloom filters com lookups O(1), eliminando 85% do ruído operacional sem perder nenhum alerta genuíno. Sorted sets para evicção baseada em TTL.
  • Billing unificado com Stripe para assinaturas recorrentes e compras únicas. Idempotency keys em webhooks e cron de reconciliação garantem 99.99% de precisão de pagamentos.
  • Deploy em k3s com Helm charts, GitLab CI/CD e observabilidade full-stack. Rollbacks em menos de 5 minutos, zero deploys manuais.

KPIs

Lojas integradas
20+
Eventos processados/dia
50k+
Latência de alerta (p99)
<2s
Acurácia de deduplicação
99.99%
Taxa de sucesso de pagamento
99.99%
Uptime
99.95%
Frequência de deploy
Diária
MTTR
<5min

Traction & Growth

Active Users
6
Paying Customers
3
Monthly Price
R$ 34,90
MRR
~R$ 105/mês
Acquisition Channel
Direct Response
Aquisição de audiência fria via Meta Ads. Copy de direct response com proposta de valor forte e mensagens de escassez.

Highlights

  • Orquestração de workflows idempotentes para retries de webhook Stripe e replays de scraper sem side effects.
  • Pipeline de alertas sub-2s para 500+ usuários via Next.js ISR e Redis pub/sub, otimizando FCP e TTI.
  • Ownership end-to-end: confiabilidade de scraper (circuit breakers, exponential backoff) e consistência de billing (validação de webhook, reconciliação de invoice).
  • Migração de Lambda/VPS para k3s + Helm: deploys em um comando, rollbacks atômicos, zero toil manual.

Architecture

Frontend (Next.js 15) → API Gateway (Node.js/TS) → Postgres (produtos normalizados)
Scrapers agendados (workers cron) → Redis (dedupe/cache/sessions)
Notificadores (Discord/Email/Webhooks) via Event Bus
Billing (webhooks Stripe) → Reconciliação → Controle de acesso
GitLab CI/CD → k3s (Helm) → Traefik (ingress)

Key Decisions

  • Redis Bloom filters para deduplicação em vez de SQL: Troca consistência por latência sub-milissegundo e escala linear. A estratégia de invalidação precisa de atenção, mas processa 50k+ eventos por dia sem gargalo.
  • Billing baseado em invoices do Stripe: Menos flexibilidade de UX, mas infraestrutura de pagamento production-grade com PCI, SCA e reconciliação nativos. Reduziu time-to-monetization de meses para semanas.
  • Kubernetes desde o primeiro dia: Curva de aprendizado maior no início, mas desbloqueia GitOps, isolamento por namespace e ciclos de deploy abaixo de 5 minutos. Compensa com 3+ ambientes.
  • Um módulo de scraper por loja em vez de um scraper genérico: Mais código duplicado, mas permite otimizações específicas por loja: Playwright onde o site exige JavaScript, estratégias de retry diferenciadas. Onboarding de novas lojas cai de dias para horas.

Hard Problems

  • Scrapers falham por timeouts de rede, rate limits, mudanças no DOM e inconsistência de dados. Circuit breakers com exponential backoff e jitter, design stateless e filas de retry separadas por loja mantêm o sistema confiável mesmo com fontes instáveis.
  • Verificações em banco para deduplicação em volume real significariam milhões de lookups por dia com alto risco de lock contention. Bloom filters do Redis resolvem com tempo O(1) de membership testing; sorted sets cuidam da evicção por TTL.
  • Webhooks do Stripe podem chegar duplicados com drift de timestamp. Idempotency keys por ID de webhook, locking otimista a nível de invoice e cron de reconciliação assíncrono eliminam race conditions.
  • Notificações em tempo real para 500+ usuários simultâneos precisam de latência próxima de WebSocket. ISR do Next.js com polling client-side e Redis pub/sub para broadcast resolve sem a complexidade de conexões persistentes.
  • Segredos de infra em Kubernetes sem expor no Git: Sealed Secrets com criptografia GitOps-friendly e injeção de .env por ambiente.

Ops & Runbook

  • Push para main dispara GitLab CI, que constrói imagens Docker, atualiza o Helm chart e faz rolling update em k3s sem downtime.
  • Rollback: helm rollback radar-hype-api -n production. Leva cerca de 30 segundos.
  • Scraper falhando: verificar /api/health, examinar logs do CronJob via kubectl, restart manual se necessário.
  • Latência alta em alertas: monitorar memória Redis e política de evicção, verificar saturação do pool de conexões Postgres, escalar HPA se necessário.
  • Fila de webhooks acumulada: verificar logs de entrega no Stripe, revisar colisões de idempotency keys, replay via Stripe CLI.

Security & Privacy

  • Chaves Stripe rotacionadas trimestralmente, armazenadas em Sealed Secrets do Kubernetes.
  • Sem PII persistido: apenas nomes de produto, preços e URLs. Identificadores de usuários hasheados.
  • Todos os webhooks Stripe validados com verificação de assinatura HMAC-SHA256.
  • Rate limiting de 100 requisições por minuto por IP nos endpoints de API.
  • TLS 1.3 em todas as comunicações externas. Backups de banco criptografados com recovery de até 30 dias.

Proof

Feed de alertas em tempo real
Feed de alertas em tempo real
Alertas com latência abaixo de 2s agregados de 20+ lojas independentes.
Pipeline de orquestração
Pipeline de orquestração
Orquestração de scrapers com retries automáticos e idempotência.
Deploy em produção
Deploy em produção
Deploy multi-ambiente k3s + Helm com GitOps e CI/CD.
Want a technical walkthrough?Email me

What I'd Improve Next

  • WebSocket real com Socket.IO para notificações verdadeiramente em push, sem polling.
  • Modelo de ML para prever quedas de preço antes de acontecerem com base em dados históricos.
  • Agrupamento de alertas por bundle: qualquer promoção em uma categoria específica entre as top 5 lojas.
  • API white-label para plataformas de moda e ferramentas de influencers como receita B2B.