| Decision | Choice | Rationale |
| Frontend framework |
Vanilla HTML/JS — no React, no Vue |
No build step. Claude reads the full file in one context window. Instant iteration. |
| App structure |
Single file (app.html) |
GitHub Pages compatible. All state in JS. No module bundling complexity. |
| Backend |
Supabase Edge Functions (Deno) |
Serverless, zero infra, TypeScript, co-located with the DB. Free tier sufficient for MVP. |
| AI access |
Claude API via proxy Edge Function |
API key never exposed in client-side code. Single place to audit all AI calls. |
| Email delivery |
Resend |
Better deliverability than raw SMTP, webhook support for open/click tracking, generous free tier, doubles as Supabase Auth SMTP. |
| Messaging channel |
Telegram Bot API |
Free, no approval process (vs WhatsApp), simple REST API, widely used in LATAM B2B. |
| Hosting |
GitHub Pages + GoDaddy forward |
Free static hosting, custom domain, auto-deploy from GitHub Actions. Zero monthly cost. |
| Multi-tenancy |
tenant_id column on all tables |
Single DB, row-level security, no schema-per-tenant complexity. Simple and fast to ship. |
| Billing |
Stripe — triggered at month 3 |
Automated. No manual invoicing. Aligns with success agreement — client pays only after KPIs are verified. |