Cecília Paiva
← Todos os casos

Estudo de caso

KidooPlay: tirar o caderno de papel do quiosque

Quiosques de shopping e praça alugam patinetes, carrinhos e motos infantis por tempo. Quem opera anota sessão, pagamento e fila num caderno, e o prejuízo aparece no fim do dia. O KidooPlay é o app que registra cada sessão cronometrada, a frota e o caixa no mesmo lugar.

Meu papel
Product owner e desenvolvedora
Período
desde ago/2026
Estado
Em validação com operadoras reais; lançamento é a próxima fase
Stack
Expo (React Native), Supabase, Cloudflare
Painel do app mostrando brinquedos livres e o botão Nova sessão
Painel
Tela de nova sessão
Nova sessão
Sessão pronta para iniciar
Sessão pronta
Caixa parcial do dia com Pix, dinheiro e cartão
Caixa do dia

Telas com dados fictícios.

O problema

O ciclo da operação é pedir, pagar, liberar, contar e recolher. No caderno, o registro vem depois da criança já estar no brinquedo, e às vezes nem vem. Quem fica na mesa não vê o que saiu, o tempo excedente não é cobrado e o dono só descobre a perda ao conferir o caixa.

Defini o critério de sucesso do produto como uma operadora passar um dia inteiro sem caderno e fechar o caixa pelo app. Tudo que não ajuda uma sessão cronometrada a ser criada, acompanhada, encerrada e relatada não é núcleo.

Para quem

O que aconteceu no primeiro teste de campo

O primeiro teste numa operação real (fim de agosto de 2026) falhou. Antes de mexer em tela, fiz um diagnóstico para separar o que era produto do que era infraestrutura. A conclusão foi que o código estava bem e a infraestrutura não existia:

O que fiz em seguida: um ambiente de homologação e outro de produção com bancos separados, deploy automático com testes como portão, backup noturno criptografado e restauração testada. Pouco depois descobri outro erro, que também ficou registrado: a homologação tinha servido o banco de produção por quatro dias, por falta de um build separado. Corrigi com um script de build por ambiente.

Aprendizado: um teste de campo que falha não prova que a ideia está errada. Primeiro descubra qual camada falhou. Aqui, consertar a infraestrutura valia mais do que qualquer funcionalidade nova.

O que a observação em campo mudou

Numa visita à operação (18/09) vi que não existia processo: a criança pega o brinquedo primeiro e o registro vem depois, chegam a sair três brinquedos ao mesmo tempo e quem atende na mesa também atende a praça. Desse registro saíram três princípios, que viraram critério de aceite:

  1. Iniciar uma sessão tem que ser mais rápido que anotar no caderno. Se não for, o caderno volta.
  2. O app nunca trava o que já está acontecendo. Ele registra o que aconteceu e, com isso, passa a ser o processo que o negócio não tem.
  3. Serve o negócio desorganizado e o organizado, com um fluxo só. Sem "modo" para cada um.

Uma decisão fechada antes mudou por causa disso: o nome da criança era obrigatório e passou a ser opcional, com um código gerado no lugar. Já o pagamento pendente continua exigindo identificar o responsável, porque a dívida precisa de alguém por trás.

Lentidão: medir antes de consertar

Duas operadoras relataram lentidão. Em vez de otimizar às cegas, montei um roteiro de medição (rede e CPU limitadas, simulando celular simples e sinal ruim da praça) e defini uma meta antes de mexer no código.

Medida (criar uma sessão, 3G ruim)AntesMeta
Espera total para criar uma sessão11,4 saté 4 s
Requisições ao servidor no roteiro72uma por atualização do ponto
Passos acima de 1 s5 de 8cada passo até 1 s, média até 0,5 s
Rede "pendurada" (Wi-Fi sem internet)84,5 snão esperar o servidor

A etapa foi entregue em produção em outubro. O documento de medição guarda o "antes" e a meta; a comparação com o "depois" ainda vou publicar quando refizer a medição, e prefiro não escrever um número que não medi.

Preço: a conta que descartou o desconto

A pergunta da primeira venda é "quanto custa". Pesquisei a concorrência (dois concorrentes de nicho, em torno de R$ 50 por mês, nenhum com várias unidades) e o preço da sessão no Nordeste (R$ 25 a R$ 35 por 15 minutos).

Com premissas conservadoras (5 unidades, 25 sessões por dia, R$ 30 por sessão, 26 dias), o faturamento do cliente passa de R$ 19 mil por mês, e a mensalidade de R$ 50 representa cerca de 0,26% disso. Concluí que preço não era a barreira, e sim credibilidade. Baixar o preço convidaria uma guerra que uma empresa com poucos clientes não aguenta, e preço de tabela baixo é difícil de reverter, enquanto encerrar uma promoção não custa nada.

Essas premissas são estimativas marcadas "a confirmar em campo" no documento original.

A restrição real era capital. O custo em dinheiro era de cerca de R$ 123 por mês, então a distribuição foi desenhada em degraus: PWA e APK direto no primeiro, Google Play quando houver dois ou três clientes pagando, App Store só quando um cliente iOS pagar a taxa anual.

Dois clientes, dois produtos, um código

Conversei com duas operações bem diferentes. Uma opera a frota e quer rapidez no celular. A outra tem várias unidades, paga hoje um sistema de terceiros e pede acesso pela web, caixa consolidado e termo de compromisso. Nenhuma das duas era o plano que eu tinha desenhado, e isso reorganizou o produto em três planos:

PlanoPara quemPreço
InícioQuem está começandoGrátis, com teto de 150 sessões
ProfissionalQuem opera a frota pelo celularR$ 49 por mês
EmpresarialRedes e franquias com várias unidadesR$ 149 por mês com 2 pontos

O Empresarial é onde está o esforço, porque redes e franquias crescem a partir dele. Os planos moram no banco, e não em um segundo projeto: um único código serve ao app Android e à web instalável.

Roteiro de produto e o que ficou de fora

O roteiro tem nove etapas, ordenadas por impacto e esforço e reordenadas em 05/11 depois da validação manual. Regras que impus a mim mesma:

Três matrizes de impacto e esforço: a geral e uma para cada plano, Empresarial e Profissional, com as iniciativas distribuídas em ganhos rápidos, projetos principais, tarefas menores e descartes
A matriz que usei para ordenar o roteiro. "Resolver lentidão" e "iniciar sessão por código" caíram em ganhos rápidos para os dois planos; o controle de funcionários por unidade e o módulo de playground foram para descartes.

Hipóteses e o que já sei sobre elas

HipóteseComo estou testandoSituação
Se iniciar uma sessão for mais rápido que anotar no caderno, a operadora abandona o caderno.Sessão rápida por código (próxima etapa), comparando o tempo de criar a sessão com o do caderno.Aberta. Ainda não implementada.
Preço não é a barreira; credibilidade é.Conta de valor (0,26% do faturamento) e pesquisa de concorrência. Falta uma venda aberta pelo checkout (etapa 6).Parcial. Raciocínio feito, sem teste de venda.
Existem dois compradores distintos: quem opera a frota e a rede com várias unidades.Conversas com uma operação de cada perfil.Indício. Só duas conversas, então não generalizo.
O excedente cobrado paga a assinatura e sustenta a retenção.O excedente já é calculado e agora pode ser cobrado, perdoado ou visto como "não faturado".Aberta. Implementado, ainda não medido.

Métricas

Como entrego

Mais de 50 specs de implementação com casos de uso numerados, 15 sprints registradas num painel de estado e regras de negócio em TypeScript puro, testadas sem depender de banco. O isolamento entre empresas é feito no banco (RLS), e não em filtro de tela. Cada entrega passa por revisão de segurança e por QA em homologação contra os critérios de aceite antes de eu validar à mão.

O que aprendi