Pular para o conteúdo
Roma & BuganzaOrçamento
Todos os projetos
SistemaPróprio2026

Leads — Motor de Reservas

Produto do estúdio

Um SaaS que varre empresas brasileiras com presença digital falha — sem site, sem WhatsApp, nota baixa, perfil incompleto — e entrega cada uma como lead exclusivo para quem vende esses serviços. Não vende lista: vende o direito de manter N empresas reservadas só para você.

Tela inicial do Leads, com a chamada "Empresas sem site, reservadas só para você"

O desafio

Lista de leads é commodity: a mesma empresa é vendida para dez pessoas e ninguém fecha. O produto só tem valor se a exclusividade for real — e exclusividade real é problema de banco de dados, não de promessa comercial. Duas pessoas pedindo a mesma empresa no mesmo instante não podem levar as duas.

A solução

Um motor de alocação com seis regras — piso de disponibilidade, teto de concentração, cooldown, cláusula de uso, transação e paridade — que decide quem fica com o quê. A reserva acontece dentro de uma transação: ou é sua, ou não existe. Um job periódico expira o que não foi trabalhado, senão a trava anti-acaparamento existiria só no papel.

O que tem dentro

Funcionalidades

Exclusividade que é transação, não promessa

A alocação roda dentro de uma transação de banco. Se duas requisições disputam a mesma empresa, uma ganha e a outra recebe negativa — nunca as duas.

108 testes, com uma suíte só de segurança

Oito arquivos cobrindo regra de negócio, migração, limite de taxa e admin. A suíte de segurança prova que ataques específicos falham, em vez de afirmar que o sistema é seguro.

Limite de taxa que sobrevive a vários processos

Em produção o contador vive no Redis. Sem ele, o limite valeria por processo — com quatro workers, o teto real viraria quatro vezes o configurado. A aplicação avisa no boot quando está nesse modo.

Schema versionado, nunca improvisado

As tabelas vêm de migrações Alembic, e não de um create_all. É o que permite mudar o banco em produção sem perder dado nem adivinhar em que estado ele está.

Stack

  • Python
  • FastAPI
  • SQLAlchemy
  • Alembic
  • Redis
  • React
  • TypeScript

Nosso papel

  • Produto
  • Back-end
  • Front-end
  • Banco de dados