< blog />
Como transformar um protótipo do Lovable em SaaS
Por Vinicius Ambrozio, fundador da VTA Tecnologia · Publicado em
O caminho virou rotina: alguém descreve o produto num fim de semana, o Lovable ou o Bolt gera as telas, o Supabase guarda os dados e os primeiros usuários entram. Aí chega o primeiro cliente que quer pagar, trazer a equipe dele e ter certeza de que os dados da empresa não aparecem pra outra. Nesse momento a pergunta muda de "funciona?" pra "aguenta?".
Este guia é a parte prática da transição. A comparação geral entre caminhos está no guia no-code, Lovable e IA ou software house; aqui o protótipo já existe e a decisão é o que fazer com ele. Quem escreve é a VTA Tecnologia, software house brasileira com mais de 150 projetos entregues.
O que o Lovable, o Bolt e o v0 fazem bem?
Essas ferramentas são boas em transformar uma ideia em telas clicáveis, com login, banco e um fluxo principal funcionando, em horas ou dias. O resultado é código React de verdade, geralmente ligado ao Supabase, que mostra a ideia pra cliente e investidor e prova se alguém usa. Pra validar, poucas coisas são tão baratas.
Cada uma tem um perfil. O Lovable gera a aplicação inteira com Supabase por trás e sincroniza o código com o GitHub nos dois sentidos; a documentação da integração com GitHub diz que dá pra publicar fora do Lovable e baixar o código nos planos pagos. O Bolt usa por padrão um banco próprio, o Bolt Database, e oferece o Supabase como alternativa. O v0, da Vercel, é mais forte em interface. O Base44 roda sobre um backend gerenciado pela própria plataforma, o que pesa na hora de sair.
Elas geram o que você pede, e quase ninguém pede isolamento entre clientes, idempotência de webhook ou plano de backup antes do primeiro problema.
Onde o protótipo trava quando entram clientes pagando?
Trava em tudo que só aparece com mais de um cliente e com dinheiro de verdade: a conta da empresa com vários usuários, o papel de cada pessoa, a assinatura que falha e volta, o banco que cresce e muda de estrutura, e a segurança que ninguém testou. A tabela resume o que encontramos ao abrir esses projetos.
| Ponto | O que o protótipo costuma ter | O que um SaaS em produção precisa |
|---|---|---|
| Contas | Login por e-mail; cada usuário é dono dos próprios dados | Conta da empresa (tenant) com vários usuários, convite e saída de membro, dados isolados por tenant no banco |
| Permissões | Checagem na tela: o botão some pra quem não pode | Checagem no servidor e no banco: a política nega mesmo se alguém chamar a API direto |
| Cobrança | Botão de checkout e consulta do status na hora do acesso | Assinatura ligada ao tenant, webhook verificado e idempotente, inadimplência, upgrade e nota fiscal |
| Banco | Tabelas criadas pelo chat, sem histórico de mudança | Migrations versionadas, índices por tenant, dados de teste separados dos reais |
| Segredos | Chaves às vezes no código que vai pro navegador | Chave secreta só no servidor, variáveis por ambiente e rotação |
| Testes | Nenhum, ou teste manual clicando | Testes automatizados nos fluxos de acesso, cobrança e isolamento entre clientes |
| Ambientes | Um só, onde se testa e se usa | Desenvolvimento, homologação e produção, com deploy repetível |
| Operação | Ninguém olha quando cai | Logs, alerta de erro, backup testado e alguém responsável |
A cobrança merece um exemplo concreto. A documentação da integração do Lovable com a Stripe, na leitura de outubro de 2026, diz que por padrão a integração não usa webhooks: o app consulta o status direto na Stripe, e a assinatura é reconhecida quando o e-mail de login bate com o e-mail do cliente na Stripe. Pra validar, resolve. Num SaaS B2B, quem paga é a empresa, o e-mail do financeiro raramente é o de quem usa, e o acesso precisa mudar quando o cartão falha. O desenho que aguenta isso está em cobrança recorrente em SaaS.
Conta por cliente é o outro ponto de quebra: protótipo gerado amarra cada dado ao usuário que o criou, SaaS amarra ao tenant. Detalhes em multi-tenant: como estruturar o banco do seu SaaS.
Como saber se o protótipo tem brecha de segurança?
O teste mais rápido mira o que a OWASP coloca em primeiro lugar: controle de acesso quebrado. Crie dois usuários de clientes diferentes e tente ler, pelo navegador ou pela API, o dado de um com a sessão do outro. Se conseguir, o protótipo não está pronto pra cliente pagante, independente do resto.
No OWASP Top 10 2025, Broken Access Control é o A01, e configuração insegura vem logo atrás, no A02. Em projeto com Supabase, as duas brechas costumam ter a mesma origem: tabela sem Row Level Security. O checklist de produção do Supabase é direto: tabela sem RLS habilitado e sem políticas razoáveis deixa qualquer cliente acessar e modificar os dados. Como a chave pública do Supabase vai pro navegador por desenho, a política no banco é a única porta.
- RLS em todas as tabelas, com política que filtra por tenant, e não só por usuário.
- Nenhuma chave secreta no front. A chave de serviço do Supabase ignora o RLS; se ela aparece no código que vai pro navegador, qualquer pessoa tem acesso total ao banco.
- Funções do servidor checando quem chama. Devolver o registro de um ID sem conferir o dono é a brecha mais comum que encontramos.
- Dependências atualizadas e sem pacote abandonado. Falha na cadeia de fornecimento de software virou o A03 da lista da OWASP.
- Limite de tentativas no login e em endpoints que custam dinheiro, como chamadas de IA.
O próprio Lovable ajuda nisso: a página de segurança descreve uma varredura automática na publicação, que olha as regras de acesso do banco, e uma varredura mais profunda sob demanda. A mesma página diz que a responsabilidade de atender os requisitos de segurança do app é sua e que as ferramentas não substituem uma revisão completa. A varredura ajuda, mas não assina por você.
O que dá para aproveitar do protótipo?
Quase sempre dá pra aproveitar o fluxo validado, o desenho das telas, os dados que já estão no Supabase e a conta da Stripe ou do Mercado Pago com os clientes dentro. O que costuma ser refeito fica embaixo da tela: modelo de dados, políticas de acesso, cobrança e funções do servidor.
- O fluxo e as telas. Viraram especificação testada por gente real, e às vezes os componentes visuais entram quase inteiros na versão nova.
- O banco no Supabase. Se o projeto está numa conta sua, o Postgres continua o mesmo e ganha colunas de tenant, migrations e políticas. Os dados dos clientes não precisam mudar de lugar.
- A conta do processador de pagamento. Clientes, assinaturas e cartões salvos ficam na Stripe ou no Mercado Pago, então trocar a aplicação não obriga ninguém a recadastrar o cartão.
- O aprendizado. O que os usuários ignoraram sai do escopo, e isso corta mais custo que qualquer código reaproveitado.
Um alerta pra quem está no Bolt: a documentação da integração com o Supabase explica que o Bolt Database é o padrão, que trocar pra Supabase depois exige passos extras e que não há caminho suportado de volta. Se o produto vai ter clientes pagando, decida cedo onde os dados vão morar e deixe o banco numa conta no seu nome.
Quando vale reescrever em vez de consertar?
Vale reescrever quando o modelo de dados não tem a noção de cliente, quando a regra de negócio está espalhada pelas telas e quando cada correção quebra outra coisa. Vale consertar quando o banco já está bem modelado e o problema se limita a políticas, segredos e testes. A decisão sai de ler o código, não de opinião.
| Caminho | Quando faz sentido | O que muda | Risco |
|---|---|---|---|
| Endurecer o protótipo | Banco já modelado por tenant, poucos fluxos, código legível | RLS, segredos no servidor, webhooks e testes nos fluxos críticos | A dívida técnica continua lá; serve por um tempo |
| Reescrever a aplicação, manter banco e cobrança | Fluxo validado, mas regra nas telas e permissões frágeis | Aplicação nova com regras no servidor; banco migrado com tenant; processador mantido | A migração de dados precisa de ensaio; é o caminho que mais indicamos |
| Reescrever tudo | Backend preso à plataforma, dados fora do seu controle ou modelo errado na raiz | Banco, aplicação e integração de cobrança novos | Mais caro e mais lento; só quando o resto não sustenta |
Se mudar uma regra simples, como o limite de usuários por plano, mexe em dez arquivos, o problema é estrutural. Quando o código está em React com Supabase, como o Lovable gera, o caminho do meio costuma ser o mais barato, porque banco e cobrança atravessam a troca inteiros.
Quanto custa e quanto tempo leva transformar o protótipo em SaaS?
Depende de qual dos três caminhos o código permite, e ninguém deveria cravar número sem abrir o repositório. Na VTA, lemos o código e o banco, devolvemos o plano por escrito e fechamos escopo, prazo e preço antes de começar. Projetos começam em R$ 20 mil, e uma primeira versão de SaaS entra no ar em até 10 semanas.
O que mais move o valor: quantos tipos de conta e papel o produto precisa, se a cobrança é um plano só ou por uso, quantas integrações existem e quanto dado real precisa ser migrado. O protótipo também reduz o custo: o escopo chega validado, e cada hora vai pra algo que alguém já usa. As faixas de mercado e o cálculo por esforço estão em quanto custa criar um SaaS.
E quando não vale contratar ninguém ainda? Se ninguém pagou, continue iterando no Lovable ou no Bolt. Se o orçamento está abaixo do nosso piso, um desenvolvedor de confiança pode ativar o RLS, tirar segredos do front e ligar os webhooks, fechando as brechas mais graves enquanto a receita cresce. Software house faz sentido quando há cliente pagando e dados e dinheiro de terceiros em jogo.
Como migrar sem parar quem já usa o produto?
Migrando por etapas, com o protótipo no ar até a versão nova provar que faz o mesmo. Primeiro o código vai pro seu GitHub e o banco ganha migrations; depois a aplicação nova sobe em homologação com uma cópia dos dados; por fim, a virada acontece num horário combinado, com caminho de volta pronto.
- Inventário. Repositório no seu GitHub, banco e processador de pagamento em contas no seu nome, lista de segredos e de integrações.
- Auditoria. Teste de acesso entre clientes, revisão de RLS, segredos e funções do servidor, com os riscos em ordem de prioridade.
- Correções urgentes primeiro. O que vaza dado ou dinheiro é fechado no protótipo atual, antes de qualquer reescrita.
- Modelo de dados com tenant. Migrations versionadas, coluna de cliente, índices e políticas, com um teste automatizado que prova que um cliente não vê o outro.
- Aplicação nova em homologação, ligada à mesma conta do processador em modo de teste e com webhooks verificados.
- Virada e operação. Migração ensaiada, monitoramento ligado e backup testado. No plano gratuito do Supabase o backup não fica disponível pra download, e o checklist de produção recomenda o PITR quando o banco passar de 4 GB.
É o padrão da Velify, SaaS de dropshipping por assinatura que construímos (não a partir de protótipo de IA): Postgres no Supabase com RLS por papel, 22 migrations versionadas e mais de 1.400 testes automatizados.
Se o seu protótipo já tem cliente batendo na porta, mande o link do repositório pela página de orçamento ou veja o que entra em desenvolvimento de SaaS. A resposta sai no mesmo dia, e a proposta vem com escopo, prazo e preço fechados.
Perguntas frequentes
Dá pra colocar um app do Lovable em produção com clientes pagando?
Dá, desde que alguém revise o que foi gerado. O mínimo é RLS em todas as tabelas filtrando por cliente, nenhuma chave secreta no navegador, funções do servidor checando quem chama, webhooks de cobrança verificados e backup. A documentação do Lovable diz que a segurança do app é responsabilidade sua.
Preciso jogar fora o protótipo pra ter um SaaS de verdade?
Quase nunca inteiro. Fluxo, telas, banco no Supabase e conta do processador de pagamento costumam ser aproveitados. O que mais se refaz é o modelo de dados sem noção de cliente, as regras de acesso e a cobrança. A decisão sai de ler o código, por escrito, antes do orçamento.
Quanto tempo leva pra transformar um protótipo em SaaS?
Depende do caminho. Endurecer um protótipo bem modelado é mais rápido; reescrever a aplicação mantendo banco e cobrança leva mais. Na VTA, uma primeira versão de SaaS entra no ar em até 10 semanas, e o prazo de uma migração vem fechado na proposta, depois de lermos o código e o banco.
O código gerado pelo Lovable é meu?
O Lovable sincroniza o projeto com o GitHub nos dois sentidos e permite publicar fora da plataforma; nos planos pagos, dá pra baixar o código. O primeiro passo de qualquer migração é garantir que repositório, projeto do Supabase e conta da Stripe ou do Mercado Pago estejam no seu nome, e não no de quem montou.
Qual a falha de segurança mais comum em app feito com IA?
Controle de acesso: um usuário consegue ler ou alterar dado de outro chamando a API direto, porque a checagem só existe na tela. É o primeiro item do OWASP Top 10 2025. Em projetos com Supabase, a causa costuma ser tabela sem Row Level Security ou com política que libera todo mundo.
Bolt ou Lovable: qual é mais fácil de migrar depois?
O que mais pesa é onde os dados moram. O Lovable documenta sincronização com GitHub e publicação fora da plataforma. No Bolt, o banco padrão é o Bolt Database, e mudar pra Supabase depois exige passos extras. Nos dois casos, se o produto vai cobrar clientes, deixe os dados num Supabase em conta sua desde cedo.
Quer orçamento de quem constrói?
Conta o que você precisa e devolvemos a proposta com valor e prazo fechados.