Skip to main content

Tech Stack

A complete breakdown of every technology used in the Kinetic Email platform.

Frontend

TechnologyPurposeVersion
ReactUI framework19.x
TypeScriptType safety5.x
ViteBuild tool & dev server6.x
React RouterClient-side routingv7
Tailwind CSSUtility-first CSS framework3.x
PostCSSCSS processing

Backend (Serverless)

TechnologyPurpose
Vercel FunctionsServerless API endpoints (api/ directory)
Node.jsRuntime for serverless functions (ESM — relative imports require .js extensions)

Database & Auth

TechnologyPurpose
SupabasePostgreSQL database, authentication, Row-Level Security on all tables
Supabase AuthPKCE flow: magic link, Google OAuth, email/password
Supabase RPCServer-side function calls (spend_tokens, check_token_balance, etc.)

AI & Machine Learning

TechnologyPurpose
Anthropic Claude Sonnet 4.6 (claude-sonnet-4-6)Email HTML generation, auto-tagging, eval judging
Anthropic Claude Haiku 4.5 (claude-haiku-4-5-20251001)Copy generation, blueprints, RAG re-ranking, continuity checks (fast, cheap)
OpenAI EmbeddingsVector embeddings for RAG (text-embedding-3-large)
PineconeVector database for RAG retrieval (v2 index; full example HTML lives in Supabase rag_documents)

Email Delivery

TechnologyPurpose
MailgunSole email delivery provider — all sends, including AMP4Email via raw MIME; HMAC-verified webhooks

Real-Time

TechnologyPurpose
ConvexReal-time database for tracking pixels and interaction events

Hosting & Infrastructure

TechnologyPurpose
VercelHosting, CDN, serverless functions, analytics
Vercel AnalyticsPage-level analytics
SentryError tracking and monitoring
TelegramServer-side admin alerts (signups, errors) via bot API

Testing

TechnologyPurpose
VitestTest runner
happy-domDOM environment for tests (faster than jsdom)
PlaywrightEnd-to-end tests (e2e/)

Build & Deploy

ToolPurpose
scripts/prerender.mjsPre-renders static HTML for SEO
scripts/generate-sitemap.mjsGenerates sitemap.xml at build time
Convex CLIDeploys Convex functions before Vite build

Build Pipeline

npx convex deploy \
--cmd 'npm run build:vite && npm run build:prerender && npm run build:sitemap' \
--cmd-url-env-var-name VITE_CONVEX_URL --codegen enable -y

This runs in sequence:

  1. Deploy Convex functions
  2. Build the Vite app (dist/)
  3. Pre-render pages into dist/<route>/index.html with SEO meta tags
  4. Generate dist/sitemap.xml