Pular para conteúdo
jvictordev
menu
Voltar
DuozzFlow

PWA verdadeiro com Web Push nativo (sem FCM) e workflow engine custom.

SaaS de gestão de produção audiovisual end-to-end. PWA instalável iOS/Android, Web Push via VAPID JWT ES256 implementado em Deno + WebCrypto, workflow engine próprio com idempotency keys.

  • Cliente
    DuozzFlow
  • Ano
    2026
  • Papel
    Solo · arquitetura, código, hardening
  • Status
    Em produção · 4 sprints
Problema

Gestão de produção em planilha + WhatsApp + Trello — perdas de prazo, deliveries duplicadas, aprovação de cliente sem trilha auditável.

Solução

React 18 + Vite + Supabase. Engine de notificação multi-canal com fanout SQL → dispatcher Edge Function → executor (template render, condições AST sem eval) → senders WhatsApp + Web Push. Web Push standalone independente de regra WhatsApp.

Resultado

50 migrations versionadas. 17 Edge Functions deployadas. Workflow engine com publishable, idempotent, cooldown, dedup. Dashboard cards mobile-first (tabelas viram cards <640px). WCAG 2.2 AA, prefers-reduced-motion honored.

Decisões técnicas
  1. Web Push Protocol direto com VAPID — zero dependência de FCM/OneSignal.

  2. Fix de bug de 3x envio em produção — root cause: CHECK constraint em workflows.status não aceitava "paused" + sync trigger silenciava (EXCEPTION WHEN OTHERS). Fix: ALTER CHECK + backfill + UNIQUE INDEX parcial.

  3. Vault para secrets — tokens MegaAPI e VAPID em pgsodium-encrypted, RPCs SECURITY DEFINER controlam leitura.

Métricas
  • 50
    migrations versionadas
  • 17
    Edge Functions Deno deployadas
  • 9
    templates de notificação rich
  • 470 KB
    main chunk gzipped
  • AA
    WCAG 2.2 + reduced-motion honored
Stack
  • React 18 + Vite 5 + TypeScript
  • Tailwind + shadcn/ui (Radix)
  • TanStack Query v5
  • DnD Kit
  • vite-plugin-pwa (injectManifest)
  • Web Push Protocol nativo (RFC 8291 aes128gcm + RFC 8292 VAPID JWT ES256)
  • Supabase (Postgres 15, RLS, Edge Functions Deno, Vault, pg_cron, pg_net)
  • MegaAPI WhatsApp
  • Google Calendar OAuth + sync
Vamos construir

Pronto pra parar de fazer slide?

Se você é empresário e tem uma operação real que precisa de IA real, fala comigo direto no WhatsApp. Resposta em horas, não dias.