Documento interno · Event Club App
O app está publicado nas duas lojas. A pergunta desta fase não é "alguém quer isto?" — é qual parte disto alguém quer, e o que se poda. Passo a passo, com o método dos três livros aplicado ao que já existe.
BILLING_LIVE = false
A Startup Enxuta manda lançar o mínimo viável e aprender. Aqui foi lançado o máximo: votação em dez categorias, eventos, rateio e balanço financeiro, mensageria interna com anexo e enquete, galeria, relatos, catálogos de clube, push, 2FA, arquivamento com prazo. Isso não é erro a ser lamentado — é o ponto de partida real, e ele muda o método.
Consequência prática: com um produto grande, sucesso e fracasso globais não ensinam nada. Se um clube usa, não se sabe por causa de quê; se abandona, não se sabe apesar de quê. Por isso todo este manual gira em torno de medir por recurso e por clube, e de tratar remover como resultado.
A unidade de aprendizado é o clube, nunca a pessoa. E a régua de qualidade é uma só: nenhum defeito que impeça enquete → evento → dia do evento. Decisões já tomadas em 13/08 — continuam valendo
Preenchido com o que já está decidido ou construído. Bloco tracejado é bloco em branco — e branco aqui não é esquecimento, é hipótese ainda não testada.
Clube que sai junto. O desenho nasceu de clube de moto e carro, mas o produto serve qualquer grupo de hobby que se organiza para sair: pedal, trilha, corrida, viagem.
Três papéis, e eles não se confundem: dono (decide e, quando houver cobrança, paga), admin (opera), membro (usa). Convidado é externo e não tem conta.
Tirar a organização do caos do WhatsApp. No grupo, decisão vira rolagem: some destino, some data, some quem vai, some quem pagou.
Aqui o ciclo tem forma: decide junto → vira evento → acontece → fica registrado. E o registro (galeria, relatos) é o que o grupo de mensagem nunca guardou.
Loja (já publicado nas duas) e, o que de fato move, o convite: código, QR e link que decide a loja pelo aparelho de quem abre.
O canal real não é a busca da loja — é membro chamando membro e clube contando para clube.
Autoatendimento por decisão. Ninguém é treinado: se precisou de explicação, é defeito de produto, e defeito de produto vira medição.
Canal de suporte existe dentro do app e é assíncrono.
Cinco planos existem no código (free, tier 1, tier 2, premium, enterprise). Preço, nenhum — e teto, nenhum.
Todo clube nasce em premium, rotulado período de avaliação por tempo limitado, a cobrança está desligada e não há limite de clube nem de mídia: o único teto que existe de verdade é o que o Cloudflare trava por arquivo. É escolha, não descuido — primeiro descobrir o que vale, depois quanto.
A base multi-tenant com isolamento por clube; a mídia fora do banco; a entrega em tempo real; e a instrumentação — 47 pontos de medição em três níveis, com assinatura de ambiente e canal.
Manter o ciclo de pé, ler o que a coorte fez e podar o que ninguém usa. Nesta fase, aprender é a atividade — não construir.
Não há nenhuma, e nenhuma foi testada. Os candidatos naturais são quem já reúne clubes: concessionária, loja de peças, organizador de encontro, grupo regional.
Infra por uso (o que escala é mídia), lojas, domínio. O custo variável é a galeria e os anexos.
Sem limite de clube e sem limite de mídia, por decisão. O único teto real é o que o Cloudflare trava no Worker: 200 MB por arquivo em mídia de evento e anexo de conversa, 25 MB em comprovante, 5 MB em avatar e logo. Custo de armazenamento cresce com o uso, e é assim que se descobre quanto custa um clube de verdade.
Blank separa desenvolvimento de clientes de desenvolvimento de produto, e proíbe pular passo. O produto está adiante; o cliente, no passo 1. Escalar antes do passo 2 é a forma clássica de queimar dinheiro com um produto que ninguém repetiu.
Sair do prédio e confirmar que o problema existe do jeito que imaginamos. Não é demo, não é venda: é entender como o clube se organiza hoje e onde dói.
Com o produto pronto, a tentação é mostrar telas. O que ensina é o inverso: ouvir o clube descrever o último encontro que deu errado, e só então ver se o app teria mudado alguma coisa.
O clube adota sem ajuda e repete. Repetição é o sinal; elogio não é. E é aqui que a pergunta de dinheiro entra pela primeira vez — não "você pagaria?", que todo mundo responde que sim, mas o teto: alguém esbarrou num limite e quis mais.
Só depois da validação é que se gasta em aquisição: parceria, presença em encontro, conteúdo, anúncio. Antes disso, cada real gasto compra instalação que não vira uso.
Fora do horizonte desta fase. Entra quando o passo 3 fechar.
Ries separa a hipótese de valor (as pessoas querem isto?) da de crescimento (como isto se espalha?). As cinco primeiras já têm emissor no app e não exigem instrumentação nova; a sexta se lê no consumo do R2, fora do app.
| # | Hipótese | Tipo | Como se mede no que já existe | Falha se |
|---|---|---|---|---|
| H1 | Decidir junto no app faz o encontro acontecer | valor | enquete_criada → voto_registrado → enquete_virou_evento → presenca_confirmada → evento_finalizado | enquete morre antes de virar evento |
| H2 | O registro do passeio é o que faz o clube voltar | valor | relato_publicado · midia_publicada · reacao_dada | o evento acaba e ninguém publica nada |
| H3 | Membro chama membro, e clube gera clube | crescimento (viral) | convites gerados × aceitos, por clube | só o dono convida, e uma vez só |
| H4 | O rateio é motivo de adoção, não peso morto | valor | custeio_definido · pagamento_lancado · balanco_aberto | evento acontece com custeio nulo — candidato a poda |
| H5 | O EventComm substitui o grupo de mensagem do clube | valor | mensagem_enviada por clube ativo | o clube usa o app e continua conversando fora dele |
| H6 | O que um clube custa por mês de uso real | receita | consumo de mídia por clube no R2 + volume de push e de mensagem | o custo por clube não se estabiliza e não dá para precificar |
H6 mudou de mecanismo, e a razão é decisão sua: não há limite de clube nem de mídia — o único teto é o que o Cloudflare trava por arquivo. Sem teto, ninguém esbarra em nada, e o evento limite_atingido não vai disparar: esta fase não produz evidência de preço vinda de limite. O que ela produz é a outra metade da conta — quanto custa servir um clube —, e é dela que sai o piso do preço. A disposição a pagar vem da conversa do passo 1, não do app.
| Marco | O que é | Aqui |
|---|---|---|
| 1. Linha de base | Medir o produto como ele está, sem mexer em nada | Começa hoje. Antes de 27/08 não havia app em lugar nenhum — só teste —, então o que a instrumentação capturou até aqui é dado de desenvolvimento e não entra na conta. A linha de base é o primeiro número de uso real, e ele ainda não existe. |
| 2. Ajustar o motor | Mudar uma coisa e ver a taxa mexer | Uma variável por vez, comparando coorte com coorte — nunca média. Média de três clubes esconde exatamente o que interessa. |
| 3. Pivotar ou perseverar | Decidir com o número na mesa | 26/09 — D+30, contado do lançamento real. O módulo financeiro entra como experimento explícito: sem valor em 30 dias de gente real usando, é candidato a poda. |
Métrica de vaidade nesta fase: instalações, contas criadas, total de usuários. Sobem sozinhas e não respondem nada. Métrica acionável: percentual de clubes da coorte que completam o ciclo, por coorte de entrada.
Ries descreve três motores e avisa: quem tenta dois ao mesmo tempo não sabe qual funcionou. Os três, aplicados aqui:
O que o motor viral exige para girar: a página de convite no ar (é ela que decide a loja pelo aparelho) e o código chegando do outro lado. No Android o código sobrevive à instalação; no iPhone não — a Apple nunca ofereceu equivalente, então lá ele aparece escrito e a pessoa digita. É atrito conhecido, e ele entra na conta da taxa de aceite.
Tudo o que veio antes foi desenvolvimento — não conta como aprendizado, não entra em coorte nenhuma e não gera número. O relógio desta fase começa no dia em que o app sai, e é hoje. Toda data abaixo é contada de D0 = 27/08/2026.
proposta Quatro semanas, fechando em D+30. Cada semana tem uma pergunta, um entregável e uma porta — sem porta fechada, a semana seguinte não muda de assunto.
| Quando | A pergunta | O que se faz | Porta |
|---|---|---|---|
| D0 27/08 · hoje |
Qual é a linha de base? | Os clubes da coorte definidos. Medição zerada como referência: o que existir a partir de agora é uso real, e o que veio do desenvolvimento fica fora da conta. | Linha de base escrita, com data e hora |
| D+1 a D+7 28/08 – 03/09 |
O clube anda sozinho? | Uso sem ajuda, sem treinamento. Toda pergunta que chegar é anotada como defeito de produto, com a tela onde nasceu. | Um ciclo completo em pelo menos um clube |
| D+8 a D+14 04/09 – 10/09 |
Qual é a dor real? | Uma conversa de descoberta por clube, sobre o último encontro deles — não sobre o app. | Três conversas registradas, com as falas |
| D+15 a D+22 11/09 – 18/09 |
O que fica e o que sai? | Leitura do nível 2 por clube. Uma mudança, uma variável. Lista de poda com número ao lado de cada recurso. | Decisão de poda escrita |
| D+30 26/09 |
Pivotar ou perseverar? | Os números das seis hipóteses na mesa, por clube. | Decisão registrada, com o dado que a sustenta |
De onde vinha o 13/09, e por que ele saiu: a reunião de pivotar-ou-perseverar foi marcada em 13/08 para 30 dias depois de um lançamento previsto para 14/08. Esse lançamento não aconteceu naquela data — aconteceu hoje. A regra dos 30 dias é a mesma; o que muda é a âncora, e a âncora agora é real.
| O que falta | Por que importa | De quem é |
|---|---|---|
| Os clubes da coorte | Sem eles não há coorte, e sem coorte não há leitura nenhuma. É a peça que trava as quatro semanas. | decisão sua |
| Linha de base lida | A instrumentação está pronta e nunca produziu número de uso real — o que existe é teste. Sem número de partida em D0, nenhuma mudança depois é atribuível. | eu, quando mandar |
| Roteiro de conversa de descoberta | Conversa sem roteiro vira demo, e demo não ensina. Blank é explícito nisso. | eu escrevo |
| Preço e o fim do período de avaliação | Todo clube nasce premium hoje. O que acontece com eles quando o período fechar é decisão de produto, não consequência automática. | decisão sua |
| Custo por clube medido | Sem limite de clube e de mídia, o custo é a variável que cresce sozinha — e é ela que dá o piso do preço. Medir o consumo real por clube é o que substitui o teto que não existe. | eu meço |
| Atribuição do OpenStreetMap | Conteúdo de terceiro declarado na loja sem crédito visível no produto. Pequeno, e é conformidade. | eu faço |
Quem entra na coorte zero? trava a fase inteira
O formato está decidido desde 13/08: 2 a 3 clubes reais além do seu, unidade = clube, ninguém treinado.
O que acontece com os clubes nascidos em premium?
Desfazer o período é uma linha no app mais o padrão da coluna. O destino de quem já nasceu dentro dele, não.
Limite de clube e de mídia decidido
Não tem limite. Nem de clube, nem de mídia — o único teto é o que o Cloudflare trava por arquivo. Fica aqui como registro, não como pergunta.
Consequência que atravessa o documento: nenhuma evidência de preço virá de teto nesta fase, porque teto não há. O preço se apoia no custo medido por clube (H6) e na conversa do passo 1.
O financeiro fica ou entra na poda de D+30?
Ele já está declarado como experimento explícito. É o maior módulo do app e o mais caro de manter.