Construa um CRM próprio para freelancers em uma tarde
Tutorial para criar um CRM simples e funcional para freelancers com Lovable e Supabase. Gerencie clientes, propostas e follow-ups sem pagar mensalidade, passo a passo.
Sumário do artigo
- O que vamos construir
- Passo 1 — Crie o projeto no Lovable
- Passo 2 — Conecte o Supabase
- Passo 3 — Faça o pipeline funcionar (arrastar e soltar)
- Passo 4 — O recurso que evita perder cliente: follow-up
- Passo 5 — Proteja seus dados
- Passo 6 — Teste com clientes reais
- Quanto custa manter
- Como evoluir depois
- O que isso muda na prática
- Conclusão

Todo freelancer começa controlando clientes na cabeça. Depois passa para o WhatsApp, com conversas espalhadas. Aí migra para uma planilha que vira uma bagunça. E quando percebe, está perdendo proposta porque esqueceu de fazer o follow-up, ou não lembra em que pé está a negociação com aquele cliente que sumiu.
Um CRM resolve isso. A sigla significa "gestão de relacionamento com o cliente", mas na prática é só um lugar organizado para acompanhar cada cliente, cada proposta e cada próximo passo. O problema é que os CRMs do mercado são caros e cheios de funcionalidades que um freelancer nunca vai usar.
A solução: construir o seu. Um CRM mínimo, com exatamente o que você precisa, sem mensalidade. Neste tutorial você vai fazer isso do zero — e parto do princípio de que você não programa, então cada passo vem explicado.
O que vamos construir
Funcionalidade | O que faz |
|---|---|
Cadastro de clientes | Nome, contato, origem, observações |
Pipeline visual (kanban) | Arraste clientes entre etapas da negociação |
Histórico por cliente | Tudo que aconteceu com cada um |
Lembrete de follow-up | Nunca mais esquecer de retornar |
Painel de visão geral | Quantos clientes em cada etapa, valor em negociação |
Ferramentas:
Lovable — constrói a interface e a lógica
Supabase — guarda os dados dos clientes
O que é um "pipeline"? É o caminho que um cliente percorre desde o primeiro contato até fechar (ou não) o negócio. Tipo: Contato → Proposta enviada → Negociando → Fechado. Visualizar isso ajuda a saber onde focar energia.
Passo 1 — Crie o projeto no Lovable
Acesse o Lovable e use este prompt inicial. Ele é detalhado de propósito — quanto mais claro, melhor o resultado:
Crie um CRM simples para freelancer chamado "Meus Clientes".
TELA PRINCIPAL — PIPELINE (kanban):
- Quadro com 5 colunas: Lead, Contato Feito, Proposta Enviada,
Negociando, Fechado
- Cada cliente é um card que pode ser arrastado entre colunas
- O card mostra: nome do cliente, valor estimado do projeto,
e um indicador se tem follow-up pendente
- Botão "+ Novo cliente" no topo
CADASTRO DE CLIENTE:
- Nome
- Contato (e-mail ou telefone)
- Empresa (opcional)
- Origem (select: indicação, Instagram, site, LinkedIn, outro)
- Valor estimado do projeto
- Observações (campo de texto livre)
- Data do próximo follow-up (date picker)
TELA DE DETALHE DO CLIENTE:
- Todos os dados do cliente
- Histórico de interações (lista de anotações com data)
- Botão para adicionar nova anotação
- Botão para mudar a etapa do pipeline
PAINEL DE VISÃO GERAL:
- Quantos clientes em cada etapa
- Valor total em negociação (soma dos não fechados)
- Lista de follow-ups pendentes para hoje e esta semana
AUTENTICAÇÃO:
- Login com e-mail e senha via Supabase
Design: fundo escuro, visual limpo e profissional,
cores suaves por etapa, responsivo.
Passo 2 — Conecte o Supabase
Vá em Settings → Integrations → Supabase no Lovable e conecte (conta gratuita em supabase.com).
O Lovable vai criar as tabelas. Confira que existem estas duas:
Tabela de clientes:
create table clientes (
id uuid primary key default gen_random_uuid(),
user_id uuid references auth.users(id),
nome text not null,
contato text,
empresa text,
origem text,
valor_estimado decimal,
etapa text default 'Lead',
proximo_followup date,
observacoes text,
criado_em timestamp default now()
);
Tabela de interações (o histórico de cada cliente):
create table interacoes (
id uuid primary key default gen_random_uuid(),
cliente_id uuid references clientes(id) on delete cascade,
user_id uuid references auth.users(id),
anotacao text not null,
criado_em timestamp default now()
);
A relação entre as duas é o que faz o histórico funcionar: cada interação pertence a um cliente (pelo cliente_id). Quando você abre um cliente, o app busca todas as interações ligadas a ele.
O que significa
on delete cascade? Se você apagar um cliente, todas as anotações dele somem junto automaticamente — em vez de ficarem soltas no banco sem dono.
Passo 3 — Faça o pipeline funcionar (arrastar e soltar)
O kanban — aquele quadro de colunas onde você arrasta cards — é o coração visual do CRM. Instrua o Lovable:
No pipeline, permita arrastar e soltar (drag and drop) os cards
de clientes entre as colunas.
Quando um card for movido para outra coluna, atualize
automaticamente o campo "etapa" daquele cliente no banco.
A mudança deve ser salva na hora, sem precisar de botão.
Esse comportamento — arrastar e a mudança salvar sozinha — é o que torna o CRM agradável de usar. Você vê o status de cada negociação de relance e atualiza com um gesto.
Passo 4 — O recurso que evita perder cliente: follow-up
A maior causa de venda perdida em freelance não é preço — é esquecimento. O cliente pede orçamento, você manda, e nunca mais retorna. O follow-up resolve isso.
Peça ao Lovable:
No painel de visão geral, crie uma seção "Follow-ups" que mostra:
- Clientes com follow-up marcado para HOJE (destaque vermelho)
- Clientes com follow-up para os próximos 7 dias
- Cada item mostra o nome do cliente e um botão "Marcar como feito"
Quando marcar como feito, peça uma anotação rápida do que
foi conversado e limpe a data de follow-up (ou peça uma nova).
Com isso, toda vez que você abre o CRM, vê na cara quem precisa de retorno hoje. Simples e definitivo contra o esquecimento.
Passo 5 — Proteja seus dados
Como o CRM tem dados de clientes, é importante que cada usuário veja só os próprios. O Lovable cuida disso ao ativar a autenticação, mas confirme com este prompt:
Garanta que cada usuário só veja e edite os próprios clientes
e interações. Ative o Row Level Security no Supabase para
as tabelas clientes e interacoes, filtrando por user_id.
O que é Row Level Security? É uma regra no banco que garante que cada usuário só acessa as próprias linhas de dados. Sem isso, em teoria um usuário poderia ver os clientes de outro. Com isso ativado, cada conta fica isolada.
Passo 6 — Teste com clientes reais
Cadastre alguns clientes de verdade (ou fictícios) e teste o fluxo completo:
Cadastre um cliente novo na etapa "Lead"
Arraste para "Contato Feito" depois de falar com ele
Adicione uma anotação do que foi conversado
Marque um follow-up para daqui a 3 dias
Veja se ele aparece na seção de follow-ups do painel
Mova até "Fechado" quando ganhar o projeto
Se todo esse fluxo funcionar suave, seu CRM está pronto para uso real.
Quanto custa manter
Supabase: gratuito para o volume de clientes de um freelancer
Lovable: plano para construir; hospedagem barata depois
Total: essencialmente gratuito para uso individual
Compare com CRMs do mercado, que começam em R$ 50 a R$ 100 por mês com funcionalidades que você não vai usar.
Como evoluir depois
Quando o básico estiver rodando bem, dá para adicionar:
Integração com WhatsApp: botão que abre a conversa com o cliente direto do card
Lembretes automáticos: usar o Make para te mandar os follow-ups do dia por e-mail ou Telegram toda manhã
Geração de proposta: botão que gera um PDF de proposta com os dados do cliente já preenchidos
Relatório mensal: quantos leads entraram, quantos fecharam, taxa de conversão
O que isso muda na prática
Freelancer que controla clientes na memória ou em conversas espalhadas está sempre operando no modo reativo — responde quando lembra, esquece o resto. Um CRM, por mais simples que seja, muda isso: você passa a operar no modo ativo, sabendo exatamente quem precisa de atenção e onde está cada negociação.
O ganho não é só organização. É dinheiro. Cada follow-up que você não esquece é uma chance a mais de fechar. Em freelance, onde cada cliente conta, a diferença entre lembrar e esquecer de retornar pode ser a diferença entre o mês fechar no azul ou no vermelho.
Conclusão
Você construiu um CRM sob medida — com exatamente as funcionalidades que um freelancer usa e nenhuma das que só atrapalham. Pipeline visual, histórico por cliente e, principalmente, o controle de follow-up que evita perder negócio por esquecimento.
Comece usando com os seus clientes atuais, ajuste as etapas do pipeline para o seu fluxo real de trabalho, e evolua conforme a necessidade aparecer. Diferente de um CRM genérico, esse cresce junto com o seu jeito de trabalhar — porque foi você que construiu.