IQ
IQForce.AI Tech Stack

Built for speed,
designed to scale

A deliberate, lean stack chosen for rapid iteration in the MVP phase — no unnecessary complexity, every choice justified by real constraints.

How the system fits together
A serverless, API-first architecture. No servers to manage, no infrastructure overhead. Every component is a managed service or a static file.
Request flow
Browser
app.html — vanilla JS
Supabase Auth + DB
Direct SDK calls
↓ via fetch()
Supabase Edge Functions
Serverless — Deno runtime
├──
claude-proxy
→ Anthropic API · protects key
├──
send-outreach
→ Resend API · email delivery
├──
send-telegram
→ Telegram Bot API · messaging
└──
telegram-webhook
← Telegram incoming messages
Hosting & deploy pipeline
GitHub
zalogonza/iqforce
push to main
GitHub Action
build + strip internals
iqforce.ai
PROD
GitHub
zalogonza/iqforce
push to dev
GitHub Action
DEV build + badge
iqforce.solutions
DEV
Managed services — no infra to own
Every external service was chosen for its free/cheap tier, REST API quality, and zero-ops footprint.
Supabase
Auth, PostgreSQL database, Edge Functions runtime, row-level security
Free tier · PROD project
🧠
Anthropic Claude
All AI agents (Nico, Ana, Max, Leo, Sam, Luna, Vera). Accessed via Edge Function proxy to protect API key
claude-opus-4-5
📧
Resend
Transactional email delivery, SMTP relay for Supabase Auth, outreach campaigns, open/click webhooks
outreach@iqforce.ai
✈️
Telegram Bot API
Outreach channel for LATAM markets. Broadcast campaigns, inbound message handling via webhook
@IQForce_bot · Free
📄
GitHub Pages
Static hosting for the entire frontend. No server costs. CI/CD via GitHub Actions on every push
Free · Custom domain
💳
Stripe
Automated billing at month 3 when client KPIs are met. 12-month full contract value charged automatically
Phase 5 · Billing trigger
Why we built it this way
01
Single-file frontend
The entire app lives in one HTML file (~2100 lines). No build step, no bundler, no npm. Claude can read and edit the full context in one pass.
02
No own servers
100% serverless. Supabase handles auth, data, and compute. Zero infra to provision, patch, or scale. Free until real revenue appears.
03
API key safety
The Anthropic API key never reaches the browser. All Claude calls go through a Supabase Edge Function proxy that injects the key server-side.
04
AI-native development
Stack chosen so Claude can act as the primary developer. Simple files, no transpilation, readable structure — Claude pushes code directly to the repo.
05
Two environments
Separate PROD and DEV Supabase projects. GitHub Actions auto-switch credentials on deploy. Production data is never touched during development.
06
Security by structure
Internal docs live in docs/internal/ — excluded from deploy by design, not by a list. SQL schemas, pitch deck, and credentials never reach GitHub Pages.
Every choice, with its rationale
DecisionChoiceRationale
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.
PROD vs DEV — fully isolated
PRODDEV
Domain iqforce.ai iqforce.solutions
Repo / branch zalogonza/iqforce · main zalogonza/iqforce · dev
GitHub Pages iqforce (gh-pages) iqforce-dev (gh-pages)
Supabase project ijeltlqfmlddufhlarid ejhwohpxhtkjciztzgwh
Data Real client data Test data only
App header Clean — no badge Yellow "DEV" badge injected by Action
Deploy trigger Push to main Push to dev
Credentials swap GitHub Action — sed replace GitHub Action — sed replace