Agenda para salão e barbearia

Nexa Agenda

SaaS de agenda que atende do profissional autônomo à rede com franquia no mesmo motor. Conduzi o benchmark, a lista mestre de funcionalidades, o empacotamento por plano, a arquitetura de acesso e as telas. O escopo saiu de quatro concorrentes mapeados em agosto de 2026, não de suposição sobre o mercado.

Papel
Product Designer, PM e PO. Benchmark, definição de escopo, empacotamento por plano, arquitetura de acesso e desenho das telas.
O que eu fiz
Mapeamento de quatro concorrentes, lista mestre priorizada de P0 a P3, modelo de cinco planos, matriz de papéis e permissões, navegação e interface.
Alcance
Do autônomo que atende sozinho à rede com franquia. Dentro do estabelecimento, quatro papéis: administrador, gerente, recepção e profissional.
Formato
Plataforma multi-inquilino. Um motor só, cinco faixas de plano, e a marca do cliente aplicada em tempo de execução.

Telas do ambiente de desenvolvimento, com contas e dados fictícios. O produto está em construção: parte dos módulos aparece nas capturas como escopo declarado na própria tela, e é assim que eles estão hoje.

Tela Clientes, na conta de quem administra uma rede

Painel do Nexa Agenda na tela de Clientes. A barra lateral agrupa os módulos em Operação, Comercial, Financeiro, Gestão e Configurações, com um seletor de unidade no topo.
A linha embaixo do título é a regra comercial escrita na tela: sem limite de clientes, em qualquer plano. O que separa os planos é tamanho de equipe e complexidade da organização, nunca o recurso essencial.

01 O contexto e quem era afetado

Dois públicos, e o mesmo motor.

De um lado a lash designer que atende sozinha e decide a compra em minutos, pelo celular, olhando o preço no site. Do outro a rede de quatro unidades, com recepção, gerente e escritório central. Os dois compram agenda, e quase nada mais é igual.

O que cada um precisa não se sobrepõe:

  • quem trabalha sozinho quer cliente novo, menos falta e sair do WhatsApp o dia inteiro;
  • quem tem quatro unidades quer acerto de comissão correto, padrão entre lojas e número consolidado;
  • quem atende sozinho opera no celular, entre um cliente e outro; a recepção opera num desktop, com alguém esperando na frente;
  • o autônomo não pode nem ver multi-unidade, permissão e DRE, porque cada campo a mais é um motivo de desistir na primeira semana.

A saída comum do mercado é vender isso como plano barato e plano caro, e tratar a diferença como quantidade de recurso liberado. O efeito prático é que quem cresce precisa trocar de ferramenta, e quem é pequeno paga para não usar.

02 O que eu descobri

Quatro concorrentes, e uma interseção vazia.

Mapeei quatro produtos em 03/08/2026: Trinks, AgendaBella, Gendo e Reservio. Preço público faixa a faixa, o que cada plano inclui, add-on cobrado à parte, cota de mensagem, teto de profissionais e o que simplesmente não existe no produto.

Descoberta 01. Os três eixos que decidem a compra no Brasil nunca aparecem juntos. WhatsApp de transação (agendar, reagendar e cancelar dentro da conversa), sinal via Pix com confirmação automática e cálculo de comissão por profissional. Cada um dos quatro entrega parte, e nenhum entrega os três.

Eixo Quem entrega, entre os quatro
WhatsApp de transação um só, e ele não calcula comissão. Nos outros é notificação por add-on, ou chatbot com cota apertada.
Sinal via Pix três dos quatro. O que não tem é o de fora do Brasil, que também não tem WhatsApp.
Comissão por profissional dois dos quatro, e são justamente os dois sem WhatsApp de transação.
Os três no mesmo produto nenhum. É o posicionamento que estava livre, e é a tese do produto.

Descoberta 02. A rede pequena não tem para onde ir. Entre duas e cinco unidades, o salão é grande demais para os produtos de teto baixo, que param em dez profissionais, e pequeno demais para o comercial dos grandes, onde o preço vira “sob consulta”. Ele quer preço publicado e comissão automatizada, e hoje precisa escolher um dos dois.

Descoberta 03. O que sobe de plano, nos quatro, é recurso essencial. Lembrete de horário como add-on pago, cota de vinte mensagens por mês, histórico de relatório cortado no plano de entrada. Quem cancela não cancela por falta de função: cancela por cobrança surpresa e por cota estourada em dia cheio.

Não existe plano barato e plano caro. Existe um motor que precisa nascer com unidade e escopo de permissão, mesmo quando o cliente tem uma cadeira só.

Descoberta 04, e é ela que decidiu a arquitetura. Multi-unidade, perfil de acesso e consolidação de relatório não são funcionalidade para acrescentar depois: são modelo de dados. Retrofitar isso é reescrever o produto, e é o motivo de o concorrente de teto baixo não conseguir subir para a rede.

03 Como o escopo foi decidido

Uma lista mestre, com prioridade e onda.

O benchmark virou uma lista única de cerca de 150 funcionalidades, em 17 seções de módulo. Cada linha carrega o que cada concorrente entrega, para qual dos dois públicos ela serve, e a prioridade de P0 a P3. É dela que sai o que entra no MVP.

A prioridade não é opinião sobre importância. P0 é o que faz o produto bater os quatro na interseção vazia, e o resto desce: P1 fecha o salão de seis a vinte pessoas, P2 abre a rede, P3 depende de contrato com terceiro. Split de comissão na maquininha, por exemplo, é a arma comercial do maior concorrente e ficou em P3 por depender de parceria de adquirente. Prometer isso em roadmap sem contrato assinado é criar dívida com o cliente.

A rastreabilidade não parou no documento. Cada item do menu declara a seção da lista mestre que o originou, a onda a que pertence e o plano em que aparece. Quem abre um módulo que ainda não faz nada lê o escopo dele e a origem, em vez de encontrar uma tela vazia.

Tela Um módulo que ainda não faz nada, e declara isso

Tela do módulo Agenda com a etiqueta Onda 1 MVP P0, a etiqueta A partir do plano Solo, a lista do que o módulo vai entregar e a origem do escopo na lista mestre.
As duas etiquetas do alto dizem quando e para quem: onda 1 do MVP, a partir do plano Solo. Embaixo, a linha que fecha a honestidade da tela: “estrutura criada, comportamento ainda não”. Um módulo em branco vira defeito reportado; um módulo que declara o próprio estado vira previsibilidade.

04 O empacotamento

Cinco planos, e nenhum recurso essencial fora.

Solo, Studio, Salão, Rede e Franquia. WhatsApp, Pix, comissão, lembrete e histórico ilimitado entram em todos, inclusive no mais barato. O que sobe de faixa é número de profissionais, número de unidades, perfis de acesso, profundidade de relatório e marca própria.

É o oposto do que dois dos quatro concorrentes fazem, e é o argumento comercial contra eles. Cobrar o lembrete à parte rende no primeiro mês e produz o cancelamento do sexto.

O plano não é escolhido, é derivado do tamanho da equipe. Isso muda uma pergunta de produto inteira: prender um módulo a uma faixa alta deixa de significar “recurso avançado” e passa a significar “esta tela só existe acima de N cadeiras”. Foi o que aconteceu com a tela de unidades, presa ao plano Rede até 10/08/2026: um studio de três pessoas pode ter três endereços, pagaria por eles e não teria onde administrá-los. Ela desceu para o plano de entrada, e a regra que ficou é perguntar, antes de gatear qualquer módulo por plano, se o critério real é tamanho de equipe. Quando não é, o recorte certo é por papel.

Tela Console da plataforma, na conta de quem administra a Nexa

Console da plataforma listando dois estabelecimentos, com plano, número de unidades, pessoas, clientes e último acesso de cada um.
O console é outro produto para outro público: quem opera aqui é a equipe da plataforma, com tabela de usuário, cookie e prefixo de rota próprios. Nenhuma sessão de salão alcança esta tela. Os dois estabelecimentos da lista existem de propósito: com um só, uma falha de isolamento entre clientes passaria despercebida em todo teste.

05 Decisões de design

Quatro decisões de design, e a origem de cada uma.

5.1

O que o plano não inclui some da tela

Módulo fora do plano não fica cinza, não ganha cadeado e não abre página de venda. Ele não existe na navegação, e a API responde que está fora do plano se alguém tentar o endereço na mão.

A razão é a descoberta 01 lida ao contrário: para o autônomo, cada linha de menu que ele não pode usar é uma decisão a tomar e um motivo de achar o produto grande demais. Cadeado é anúncio, e anúncio dentro da ferramenta que a pessoa já pagou é atrito, não conversão.

Vem da descoberta 01

5.2

Duas perguntas que nunca se misturam

O plano inclui este módulo é pergunta comercial. O papel pode esta ação é pergunta de segurança. As duas moram em funções separadas, e misturá-las é como um desconto comercial vira permissão de acesso.

A permissão é lista de liberação, nunca lista de bloqueio: módulo ausente no mapa do papel é acesso negado. Recepção fecha comanda e recebe, e não toca em conta a pagar nem em comissão. Profissional edita a agenda dele, e a regra de quem é o dono do horário é do servidor, não da tela.

Vem da descoberta 04

Telas A mesma barra lateral, no mesmo plano, em dois papéis

Barra lateral na conta de administradora: dezoito itens, agrupados em Operação, Comercial, Financeiro, Gestão e Configurações, com o seletor de unidade ativo.
A administradora alcança dezoito itens em cinco grupos, e troca de unidade pelo seletor do topo.
Barra lateral na conta da recepção: dez itens, sem o grupo Configurações, e com o seletor de unidade fixo numa unidade só.
A recepção vê dez itens, e o grupo Configurações não aparece. O seletor de unidade está fixo: ela pertence a uma unidade, e o vazio embaixo da lista mostra que não há porta escondida.
5.3

A marca do cliente é aplicada em tempo de execução

A paleta inteira do produto deriva de três variáveis: o matiz da marca, o matiz de apoio e um multiplicador de saturação. Trocar as três recalcula todos os degraus, nos dois temas, sem recompilar nada. Cor escrita à mão em componente quebraria isso em silêncio, então nenhuma existe: componente consome token, nunca degrau da rampa.

Isso é o que torna white label uma configuração do cliente e não um projeto por cliente. A rede que quer o próprio nome na tela do funcionário deixa de ser um pedido de customização, com prazo e orçamento, e vira um campo no cadastro.

Vem da descoberta 02

Tela A mesma interface, com duas marcas trocadas ao vivo

A mesma tela de design system duas vezes: em cima a paleta padrão em azul e roxo, embaixo a mesma tela com a marca coral aplicada, com as três rampas recalculadas.
Em cima a marca padrão, embaixo a mesma tela depois de trocar as três variáveis. As rampas são recalculadas em oklch, com o croma de cada degrau limitado ao que cabe em sRGB naquela luminosidade: sem esse limite o navegador aperta a cor por conta própria, e os degraus deixam de ser uniformes justamente na marca do cliente. O rótulo da rampa continua dizendo blue e purple nas duas metades porque ele nomeia o padrão do produto, e não a marca que está aplicada.
5.4

O celular é o aparelho de quem trabalha sozinho

O painel é desenhado a partir de 375px, e não reduzido a partir do desktop. Alvo de toque de 44 por 44 em tudo que se clica, e a barra de baixo com quatro módulos mais “Mais”: quem atende sozinho abre o sistema entre um cliente e outro, de pé, com uma mão.

A navegação inteira sai de uma fonte só. Barra lateral, gaveta e barra de baixo leem a mesma lista, e é isso que impede o item novo de entrar em dois lugares e sumir no terceiro, que é o defeito clássico de produto com três formas de menu.

Vem da descoberta 01

Telas O celular de quem opera, e o de quem agenda

Painel no celular, na tela de Clientes, com os cartões de cliente e a barra de navegação inferior com Agenda, Clientes, Conversas, Caixa e Mais.
Quem opera. A tabela vira cartão, e cada cliente traz as duas ações que importam no balcão. A observação da ficha aparece aqui, e não atrás de um clique: alergia é o tipo de informação que não pode depender de alguém lembrar de abrir.
Página pública de agendamento com o nome do estabelecimento, e três cartões: escolha o horário, garanta com Pix e tudo no WhatsApp.
Quem agenda. A página pública carrega a marca do estabelecimento, não a da plataforma, e os três cartões são os três eixos da descoberta 01, ditos na linguagem de quem vai marcar horário.

06 Como saiu do papel

Um repositório só, e o contrato num pacote.

React 19 com Vite e Tailwind no painel e no console, Fastify 5 com Postgres 18 na API, e 51 rotas hoje. O que atravessa a fronteira entre os dois lados, tipos de domínio, planos, papéis e o mapa de permissões, vive num pacote importado pelos dois.

Isso não era assim, e a conta apareceu. Painel e API eram dois repositórios, com o mapa de autorização duplicado e um comentário no topo pedindo para mudar os dois na mesma sessão. Quando viraram um pacote só, as duas cópias já tinham divergido em 49 linhas. Divergência ali não é detalhe de organização: é o painel mostrando um botão que a API recusa, ou seja, o usuário clicando em algo que o sistema já decidiu negar.

O design system também é um pacote, consumido pelo painel e pelo console. O console tem aparência distinta sem código próprio: ele sobrescreve as mesmas três variáveis de marca da decisão 5.3.

07 Qualidade e escala

O isolamento entre clientes é do banco.

A lista de clientes de um salão é o ativo dele. Num produto multi-inquilino, a pergunta que decide a confiança não é se a tela filtra certo: é o que acontece quando alguém esquece o filtro.

Por isso o recorte por cliente não é do código de aplicação. Ele é do Postgres, com política por linha e três papéis de banco distintos: o papel com que a API conecta não é dono das tabelas e não pode ignorar a política. Consulta sem contexto devolve zero linha, e não a tabela inteira.

Garantia O erro que ela transforma em nada
Isolamento no banco rota nova que esqueceu o filtro por cliente. Sem contexto, ela devolve zero linha em vez de vazar a base.
Sessão em cookie, estado no servidor credencial guardada no navegador, que qualquer script da página consegue ler.
A barreira é a API confiar no que o painel escondeu. O navegador é da pessoa, e o que vale é o servidor perguntar de novo.
Contraste medido no processo par de cor que reprova em silêncio, inclusive na paleta que o cliente escolheu para a própria marca.

Nada disso vale como promessa. Um script prova o isolamento contra o banco real, em 21 verificações: que o papel da API não ignora a política, que a consulta sem contexto volta vazia, que gravar com o identificador do vizinho é recusado, e que o contexto não vaza para a próxima consulta que reusar a mesma conexão. O contraste é medido sobre o CSS de verdade e derruba o processo quando um par exigido reprova.

Toda tela que busca dado tem três estados definidos antes do caminho feliz: carregando, vazio e erro. O vazio explica o que apareceria ali e oferece a ação que cria o primeiro item, porque a primeira tela que todo cliente novo vê é justamente a vazia.

O que vem a seguir no produto

A frente de operação, com serviço, profissional e disponibilidade, que é o que destrava a agenda e o link público de agendamento. Depois dela, os itens de P0 que esperam a escolha entre a via oficial e a não oficial do WhatsApp, que é o que define custo por mensagem e se dá para prometer cota generosa.

Quer ver o sistema rodando

As telas desta página são do sistema, e o resto dele também sobe. Demonstração ao vivo, do painel ao console da plataforma, é conversa de trinta minutos.