Roadmap
Roadmap top-down. Cada fase consolida um conjunto coeso de scenarios e ADRs. Status: delivered (green tag), design / impl WIP (red tag sem green), planned (sem scenario), future (idéia sem decisão).
Cronologia espelha /journey/ mas reordena por outcome de produto, não por scenario number.
Fase 1 — Núcleo financeiro
Section titled “Fase 1 — Núcleo financeiro”Status: delivered (2026-06-03). Goal: modelar o domínio financeiro do casal — Budget, Account, Goal, Household — com persistência plugável. Scenarios:
- 000 — Custos mensais da casa.
- 001 — Importar fatura do cartão.
- 002 — Meta de poupança do casal.
- 003 — Custo variável (expected vs actual).
- 004 — Reconciliar fatura com expense.
- 005 — Renda do casal (Household).
- 006 — Viabilidade da meta.
- 007 — Persistir o orçamento.
Output: quatro aggregate roots core (Budget, Account, Goal, Household), shared kernel (Money, BillingDay, Period, Member, ExchangeRate), Repository port + fake + SQLite (pattern via 007).
Fase 2 — Agente conversacional
Section titled “Fase 2 — Agente conversacional”Status: delivered (2026-06-03). Goal: agente que lê o domínio via LLM tools, importa fatura PDF, persiste memória, escreve no domínio com confirm. Scenarios:
- 008 — Chat com agente conversacional.
- 009 — Importar fatura Nubank via chat.
- 010 — Persistir o resto (Goal/Household/Account).
- 011 — Cotação FX viva.
- 012 — Chat persistido + retrieval.
- 013 — Agente escreve no domínio via write tools.
ADRs:
- 001 — Stack de infraestrutura.
- 002 — Estratégia de testes em tiers.
- 003 — Estratégia de documentação.
- 004 — Memory architecture.
Output: AgentChat stateless, read tools (BudgetTool, GoalTool, FeasibilityTool), write tools (RecordSpendTool, RegisterExpenseTool, etc.) com pattern propose → confirm + idempotência por operationId, memory architecture via Mastra.
Fase 3 — Capacidade do agente
Section titled “Fase 3 — Capacidade do agente”Status: design delivered / impl WIP. Goal: variações de receita, alerts proativos, attribution viral, onboarding zero-state, reminders. Scenarios:
- 014 — Receita variável — green.
- 015 — Alerts proativos do orçamento — green.
- 016 — Referral attribution sem fila — red.
- 017 — Goal via conversa — red.
- 018 — Onboarding zero-state — red.
- 019 — Reminder proativo — red.
Output: feature-completo do domain pra agente operar end-to-end um casal real. 014-015 green; 016-019 com doc/spec mas impl pendente.
Fase 4 — Canal, UX, qualidade
Section titled “Fase 4 — Canal, UX, qualidade”Status: design delivered / impl WIP. Goal: WhatsApp como canal único, landing direct-to-WhatsApp, eval harness pra qualidade conversacional, edge cases mapeados. Scenarios:
- wa-001 — Onboarding via WhatsApp.
- wa-002 — Fatura via WhatsApp.
- wa-003 — Grupo com parceiro.
- landing-001 — Hero direct-to-whats CTA.
- landing-002 — Share viral via
?ref=URL. - landing-003 — Blog/chat teaser.
- 020 — Gasto rápido (fast-path sem confirm).
- 021 — Agente admite limite.
- 022 — Eval harness conversacional.
- 023 — Edge cases conversacionais.
ADRs:
- 005 — Astro landing stack.
- 006 — Anonymous-first identity.
- 007 — WhatsApp channel via Baileys.
- 008 — UX writing tone PT-BR.
- 010 — Landing final (refactored sem waitlist).
Output: produto pronto pra primeiro casal real — canal, ponto de entrada, qualidade conversacional, fail-safe behavior.
V1.0 — Quality-first cutline
Section titled “V1.0 — Quality-first cutline”Status: planned. Cap: 4 semanas de impl. Tese: medir qualidade da conversa antes de cobrar.
Critério ship V1.0: 1 casal real usa 7 dias sem hand-holding. Eval rodando em PR. Referral link funcional.
| Semana | Scenarios |
|---|---|
| 1 | BaileysAdapter + wa-001 + wa-002 + wa-003 |
| 2 | 017 CreateGoal + 018 onboarding + 019 reminder |
| 3 | 020 fast-path + 021 anti-halluc + 023 guard |
| 4 | 016 referral + landing-001/2/3 + 022 eval em CI |
Drop pra V1.1+: 024 multi-currency UX, 025 freemium, 026 digest, wa-004 partner DM.
Por que cortar 025 (freemium): cobrar antes de PMF mata onboarding. CEO doc #9 dá window: 1k ativos 60d → 100 pagantes mês 3.
Por que manter 022 (eval): LLM custa token + pode regredir silencioso. Eval em CI = guardrail antes de N casais reais.
Por que manter 016 (referral): CEO doc K=1.5. Sem referral landing-002 órfã.
Fase 5 — V1.1 (pós-1k casais ativos)
Section titled “Fase 5 — V1.1 (pós-1k casais ativos)”Status: planned. Trigger: 1k casais ativos 60d (CEO doc #9 redefinido pelo ADR 010).
- 025 freemium gate — R$15-25/mês quando willing-to-pay validado.
- 026 digest periódico — retention play, weekly/monthly mensagem agregada.
- 024 multi-currency UX — casal viajando, gasto em EUR. Domain já é multi-currency desde 002.
- wa-004 bring partner via DM — alternativa ao group pra casais avessos a grupo de 3.
- Web dashboard read-only —
apps/dashboard/proposto. Overview visual 1x/mês, edit no WhatsApp.
Fase 6 — Pós-product-market-fit
Section titled “Fase 6 — Pós-product-market-fit”Status: future.
- Multi-device — login email opcional pra recuperar Household. Anonymous-first segue default (ADR 006).
- Open Finance via Pluggy — sync extratos automático. Hoje o casal sobe fatura manual via PDF (009).
- i18n — PT-BR → EN/ES quando expandir LATAM. ADR 008 tone PT-BR ancora o início.
- M&A readiness — buyers Nubank/Itaú/etc, janela 3-5 anos (CEO doc). Doc canônica em docs/CEO.md.
Como ler este roadmap
Section titled “Como ler este roadmap”Cada fase é decisão de batch, não cronograma fixo. A janela “Fase 3 → 4” é uma escolha de priorização: agente útil antes do canal, ou canal antes do agente útil? mel optou por agente primeiro (lógica de produto madura) e canal logo depois (sem WhatsApp não tem product).
Faltou no doc canônico? Atualiza AGENTS.md e reflete aqui.