Skip to content

πŸ”§ Tech Stack (MVP)

Core Technologies

Frontend

  • Framework: React 19 with Vite
  • Build Tool: Vite
  • Styling: Tailwind CSS
  • Components: shadcn/ui (Radix UI primitives)
  • State Management: TanStack Query + React Context
  • Forms: React Hook Form + Zod
  • Data Tables: TanStack Table
  • Routing: React Router v7
  • Deployment: Cloudflare Pages (SPA)

Backend

  • API: Supabase auto-generated REST/GraphQL APIs
  • Database: Supabase (PostgreSQL + Auth)
  • File Storage: Cloudflare R2
  • Edge Functions: Cloudflare Workers (as needed)

Static Sitest

  • Marketing: Cloudflare Pages
  • Documentation: Cloudflare Pages (MkDocs)

Integrations

  • Auth: Kinde (SSO + Multi-tenant)
  • Email: SendGrid or Postmark
  • WhatsApp: Twilio API
  • Billing: Stripe (via Kinde integration - check alpha/beta status)

Backend Processing (MVP - No AI)

  • PDF Generation: WeasyPrint (Python) or Puppeteer (Node.js)
  • Text Extraction: pdf-parse, mammoth.js (non-AI document parsing)
  • Background Jobs: Simple cron triggers (Cloudflare Workers Cron)
  • Email Templates: Resend or similar transactional service

Development

  • Package Manager: pnpm
  • Version Control: GitHub
  • CI/CD: GitHub Actions
  • IaC: Pulumi (TypeScript)

Why These Choices?

React + Vite + Cloudflare

  • Massive ecosystem and component library support
  • Fast development velocity with modern tooling
  • shadcn/ui provides 50+ production-ready components
  • TanStack ecosystem (Query, Table, Router) best-in-class
  • Simple SPA deployment to Cloudflare Pages
  • TypeScript throughout

Supabase

  • PostgreSQL with Row Level Security
  • Built-in auth (backup to Kinde)
  • Real-time subscriptions if needed
  • Generous free tier for MVP

Kinde Auth

  • Multi-tenant out of the box
  • Australian company (data sovereignty)
  • Simple pricing model
  • Good developer experience
  • Stripe integration for billing (verify current status)

Processing & Automation

  • Rule-Based Logic: TypeScript/SQL for all business logic (no AI)
  • PDF Generation: WeasyPrint or Puppeteer for board reports
  • Cron Jobs: Cloudflare Workers Cron for scheduled tasks
  • Forms: React Hook Form + Zod for structured data collection

What We're NOT Using (Yet)

Deferred to Post-MVP:

  • AI/ML/LLM features (LangGraph, Claude API, GPT)
  • n8n workflow engine (too complex for MVP)
  • Kubernetes (overkill for MVP)
  • Microservices (monolith is fine)
  • Redis (Cloudflare KV if needed)
  • Complex monitoring (basic logging only)
  • Native mobile (web-first)

Development Setup

# Prerequisites
node >= 18
pnpm >= 8

# Clone and install
git clone [repo]
pnpm install

# Environment variables
cp .env.example .env
# Add your keys for Supabase, Kinde, etc.

# Run locally
pnpm dev

# Deploy
pnpm build
pnpm deploy

Keep it simple. Use proven tools. Ship fast.