vek1 — estado e maturidade
Estado e maturidade
Pricing/billing — LIVE (Fase 1+2 completas)
Fim da sequência PRs A→B→C+UI (2026-05-20 → 2026-05-21). Stripe billing end-to-end com premium positioning + páginas comparativas vs concorrentes.
| Componente | Status | PR |
|---|---|---|
| Schema billing + Stripe seed + beta migration | ✅ Prod | vek1#73 |
| Billing service + endpoints + Stripe webhook | ✅ Prod | vek1-api#24 |
| /chat enforcement + apscheduler + emails grace | ✅ Prod | vek1-api#25 |
| UI /settings#billing + signup wizard + /pricing | ✅ Prod | vek1#74 |
| Landing 3D + copy PME-focused | ✅ Prod | vek1#75, #77 |
| Hero 2-col + CTAs aware logged + /billing page | ✅ Prod | vek1#78 |
| Comparativo + Calculadora CLT | ✅ Prod | vek1#79 |
| Premium positioning (R$ 199/599/1499) + vs pages | ✅ Prod | vek1#80 |
| /pricing via HTTPS (em vez de Drizzle direto) | ✅ Prod | vek1#82, vek1-api#26 |
Refactor api-first — COMPLETO (histórico)
Sprint anterior (2026-05-18 → 2026-05-20) cutou completamente o frontend pra topar apiClient. PRs #65–#72.
| PR | O que cutou |
|---|---|
| #65 | api-client + auth-adapter HTTP |
| #66 | Better Auth → HTTP adapter |
| #67-69 | queries/actions/route handlers → apiClient |
| #70 | lib/supabase.ts virou thin shim snake_case |
| #71 | Test suite vitest ajustada |
| #72 | Forgot password Resend via vek1-api |
Maturidade por feature
| Feature | Status | Notas |
|---|---|---|
| Auth + multi-tenant isolation | ✅ Pronto | Better Auth via HTTP adapter; ownership check backend. Falta sistema de roles/teams. |
| Forgot password | ✅ Pronto | Resend via vek1-api webhook scope |
| Stores CRUD | ✅ Pronto | |
| Products via CSV upload | ✅ Pronto | Wizard 7 steps |
| Products file extraction | ✅ Pronto | PDF + CSV via vek1-api |
| Agents CRUD + persona | ✅ Pronto | Industrial Linear settings |
| Agent chat preview | ✅ Pronto | |
| Documents/KB management | ✅ Pronto | embedding via bge-m3 |
| WhatsApp Evolution v2.3.x | ✅ Pronto | Cliente custom, LID-aware |
| Instance settings QR Code | ✅ Pronto | |
| Leads tracking + LLM enrich | ✅ Pronto | profile_summary + embedding |
| Orders + PIX (AbacatePay) | ✅ Pronto | E2E testado |
| Orders + PIX manual (comprovante via WhatsApp) | ✅ Pronto | full envelope fix |
| Orders + Cash on Delivery | ✅ Pronto | |
| Orders SSE realtime | ✅ Pronto | Postgres LISTEN/NOTIFY |
| Bidirectional stock sync (ERP) | ✅ Pronto | HMAC |
| Settings page (account/company/payment/stock-sync) | ✅ Pronto | |
| Audit log | ✅ Pronto | Append-only no vek1-api |
| Token usage tracking | ✅ Pronto | |
| Dashboard real | ✅ Pronto | |
| Database stats | ✅ Pronto | |
| Client stats | ⚠️ Mock parcial | |
| Landing page 3D + copy PME | ✅ Pronto | Industrial Atelier maximalist |
| Stripe billing/subscription | ✅ LIVE em prod | Premium positioning Starter R$199/Pro R$599/Business R$1499 |
| /pricing público + 6 vs pages | ✅ LIVE | octadesk, socialhub, blip, zenvia, chatguru, wati |
| Calculadora CLT vs vek | ✅ LIVE | interactive client component |
| SEO completo | ✅ Pronto | metadata + sitemap.xml + robots.txt + JSON-LD SoftwareApplication |
| Test coverage | 🟡 Médio | Vitest 65 passed; UI components ainda quase descobertos |
Pricing live
| Plano | Mensal | Tokens | Overage / 1M |
|---|---|---|---|
| Starter | R$ 199 | 1M | R$ 39 |
| Pro | R$ 599 | 5M | R$ 28 |
| Business | R$ 1.499 | 30M | R$ 20 |
Stripe Prices v2 lookup keys (_v2); v1 antigos mantidos pra subs pré-existentes.
Drizzle/schema status
- Source-of-truth:
src/lib/db/schema.ts - Sem SQL migrations versionadas —
bun run db:push --forcedireto +scripts/recreate-indexes.tspra hnsw/unique custom - Init SQL no vek1-api repo (
init/01-init.sql) - Agent
schema-migratorcuida disso
Direção atual
Feature parity completa incluindo billing. Lojista pode signup → onboarding com cartão → agente ativo → cliente conversa → vende → cobra → entrega — tudo automático.
Próximos candidatos:
- Multi-user por company (roles + invites)
- Customer Portal Stripe self-serve (alternativa à UI custom)
- Anual com desconto (annual subscription)
- Coupon codes
- Faturação NFSe quando volume justificar
Dependências críticas externas
- vek1-api — toda escrita passa aqui (incluindo pricing data via
/billing/plans-public) - Stripe — billing (test mode atualmente)
- Evolution API — WhatsApp
- AbacatePay — PIX cliente final
- Resend — emails transacionais
- Vercel — deploy
Stack drift conhecido
package-lock.json+bun.lockversionados juntos (CI usa Bun)- Componentes soltos em
components/raiz openaiSDK 5 nas deps mas não usado pelo frontend