Mapa de Protótipos Navegáveis
Demos executáveis das surfaces ZapNotei. Auth, onboarding, form, painel, chat, ops e mais — todos interativos, conectados, animados. Pré-F1.0 são protótipos HTML+JS; F1.0+ vira React.
01-auth · Autenticação (sem senha)
01.1-auth-login
Login (magic link)
Email + Auth.js sem senha. 6 estados: default, magic-sent, error, loading, rate-limit, OAuth (F2+).
01.2-auth-otp-verify
Verificação OTP (email)
6 dígitos via Upstash TTL 5min. 7 estados: default, typing, loading, error, expired, lockout, success.
01.3-auth-totp-2fa
TOTP 2FA (app authenticator)
RFC 6238 via otplib. Verify (4 estados) + Setup wizard 4-step + recovery codes.
02-onboarding · Cadastro empresa + A1
02.1-onboarding-administrador
Administrador · early lead capture
Step ZERO (ADR-0021) — captura nome + WhatsApp + consent_marketing antes de pedir CNPJ. Lead em `leads` canal='onboarding' pra resgate via cron. 4 estados: default, preenchido, loading, erro.
02.2-onboarding-empresa-cnpj-cep
Empresa · CNPJ + CEP + IE/IM + RPS
Single-page 3 sections com auto-enrichment BrasilAPI/ViaCEP. Defaults inteligentes (regime via CNAE, IM via CEP). 5 estados: default, loading, enriched, inválido, inativo.
02.3-onboarding-a1-upload
Certificado A1 · upload + KMS
Drag-drop PFX + senha + validação progressiva 4 steps + envelope encryption KMS. 6 estados: default, file-selected, validating, validated ✓, erro senha, A1 vencido.
02.4-onboarding-confirmacao
Confirmar · review + criar empresa
3 review cards (empresa/fiscal/A1) com edit jumps + creating overlay rotativo + success celebrate. Conversão lead → account no submit. 4 estados: review, creating, success, erro Focus.
03-form · Form emissão NF
03.1-form-emissao-nfse
Form NFS-e · single-page 4 sections
Header app + switcher CNPJ + 4 section cards accordion (Tomador/Serviço/Valores/Anexo). Cliente lookup typeahead + LC 116 IA suggestions + cálculo ISS auto + auto-save 1.5s + sticky CTA. 5 estados: vazio, preenchido, emitindo Focus, NF emitida ✓, rejeitada Sefaz.
03.2-form-emissao-nfe
Form NF-e multi-step
Cliente + produtos + NCM + valores.
03.3-form-recovery-camada1
Recovery camada 1 (known errors)
Inline error mapping conhecido.
03.4-form-recovery-camada2
Recovery camada 2 (schema regex)
Regex-based field repair.
03.5-form-recovery-camada3-llm
Recovery camada 3 (LLM)
Sugestão LLM validada local.
04-painel · Listagem + Detalhe NF
04.1-listagem-populated
Listagem populated single-CNPJ
Tabela + Ably real-time push.
04.1-listagem-empty
Listagem empty (primeiro acesso)
Empty state + CTA emit primeira NF.
04.1-listagem-loading
Listagem loading skeletons
Drizzle query rolando.
04.1-listagem-aggregate
Listagem aggregate (≥2 CNPJs)
Coluna Empresa visível (ADR-0020).
04.2-detalhe-nf
Detalhe NF (drill-down)
Cancel + baixar + reenviar.
04.3-aggregate-emit-modal
Modal escolher CNPJ pré-emit
ADR-0020 obrigatório em aggregate.
05-chat · 06-clientes · 07-admin · 08-configuracoes
05.x · 06.x · 07.x · 08.x
Chat conversacional + Clientes + Admin + Configs
Backlog completo em
_BACKLOG.md. Não-iniciado.09-ops · Painel operacional ⚪ (acesso direto)
09.1-ops-dashboard
Dashboard ops (MRR + alertas)
Cross-account metrics.
09.2-ops-empresas
Gestão CNPJs cross-account
Suporte cross-tenant.
09.8-ops-empresa-avancado
Toggle ambiente ops-only (ADR-0019)
Default produção, switch ops.
09.9-ops-impersonate
Impersonate user (audit trail)
Suporte assistido com banner permanente.
10-marketing · 11-blog
10.x · marketing
LP + Demo público + Pricing
ADR-0017/0018.
11.x · blog
Blog público + admin Payload
ADR-0014.
Legenda
Não-iniciado
Em iteração
Aprovado
⚪ Acesso direto (sem nav user)
App app-prototype.zapnotei.site
Ops ops-prototype.zapnotei.site