2025 — hoje · Produto, arquitetura e código
CondoStatus
CondoStatus é um SaaS B2B de gestão de condomínios que eu construí sozinho, do primeiro commit à cobrança recorrente, e que roda em produção com síndicos reais.
Stack
- Next.js
- Supabase
- PostgreSQL/RLS
- Asaas
- Tailwind
- Vercel
Links
O problema
Gestão de condomínio no Brasil é um problema de permissão antes de ser um problema de tela: cada síndico enxerga só o próprio condomínio, cada morador só o que lhe diz respeito, e um vazamento entre inquilinos não é bug — é incidente. Somado a isso, o produto precisava cobrar de verdade, e cobrar no Brasil significa Pix, boleto e nota fiscal de serviço, não apenas cartão internacional.
A abordagem
Multi-tenant com Row Level Security no Postgres do Supabase, de modo que o isolamento vive no banco e não na camada de aplicação — mesmo uma consulta escrita errada não atravessa a fronteira do tenant. Para pagamento, escolhi Asaas em vez de Stripe: Pix Automático nativo, boleto recorrente e emissão de NFS-e são inegociáveis no B2B brasileiro, e nenhum gateway internacional resolve os três. O modelo é trial-before-billing, com o estado da assinatura refletido na interface inteira.
O que aconteceu
O produto está em produção e cobrando. O capítulo mais instrutivo veio depois do lançamento: o INP no mobile estava em 1.472ms nas rotas de dashboard e de condomínio — quase um segundo e meio entre o toque e a resposta. Rastreei até um listener de `mousedown` no menu de usuário, com o agravante de que uma extensão de cripto no navegador estava contaminando os traces de performance do Chrome e me mandando na direção errada. Aprendizado que virou regra: descartar perfil de navegador com extensão antes de acreditar no trace.
Fatos do projeto
Multi-tenant com isolamento no banco (RLS), não na aplicação
Asaas escolhido sobre Stripe por Pix Automático, boleto e NFS-e
Modelo trial-before-billing com cancelamento até o fim do período pago
INP mobile de 1.472ms rastreado até um único listener de mousedown
Convites, permissões por condomínio e papéis de síndico e morador
Me conta o que você quer construir.
Uma conversa de 30 minutos sobre o problema costuma resolver mais do que três trocas de e-mail sobre tecnologia. Se não for pra mim, eu digo na hora.
andre@andrebordignon.dev · Brasília, Brasil