Architecture update: The Lovable React SPA is now the main front end. News and frequently updated pages are generated as a static site (SSG). WordPress and the hybrid model were removed.

Soulfire Tech Stack
Stack layer Specific service you’ll set up One-liner what it does Adult-academy content allowed? Key notes / hoops to jump through When to set it up Status
Static front-end Cloudflare Pages Serves the built Lovable React/Vite SPA worldwide Yes – legal adult content OK Keep content legal & consensual; Cloudflare only rejects CSAM / non-consensual material. Day 1 – deploy the SPA as soon as you have “Hello World” building.
Object storage / image CDN Cloudflare R2 + Images Stores PDFs, hero photos; resizes on the edge Same as Pages (inherits policy) Unlimited egress; bucket in “EU-Central”. Add later – when media egress ≈ 30 GB / month or you need on-the-fly image resizing.
Marketing site & podcast Astro SSG on Cloudflare Pages Builds static news pages and the podcast feed Same as Pages policy Replaces the old WordPress site. Deploy when you start publishing news.
Data / Auth / Files for Lab Supabase All app tables, login, private guide PDFs Yes, if legal & consensual Row-Level Security gates explicit lessons per user role. Day 1 for the Lab – set up before you code tests/courses. 🛠️
Payments Stripe Connect (EU) Card + Apple/Google Pay checkout 🚧 Restricted – explicit porn banned Educational PDFs/courses usually pass; open a Stripe Compliance ticket if uncertain. Sprint 2 – only when you publish the first paid guide/test.
Transactional & drip e-mail Resend Sends receipts, 5-day “TRY” sequence No explicit sexual imagery Keep newsletters PG-13 or pick a looser ESP. Same sprint as first signup or sale – need it once users enter emails.
E-mail alternative Mailjet (Sinch Email/Mailgun) API & SMTP plus newsletter automation Adult content allowed if legal Free 6k/mo, advanced features on paid plans Switch if Resend too strict or you need marketing tools
Automations / mini-CRM Make.com No-code flows (Supabase → Slack, etc.) Gray – “obscene” material forbidden Don’t push explicit images; store only IDs/links. Optional – Sprint 3+ – after real sales when you want Slack pings or CRM boards.
CDN, WAF & 18+ geo-rules Cloudflare Pro Edge cache, DDoS, firewall Yes – aligns with Pages policy Add a WAF rule to force age-gate on /lab if needed. Same day you move DNS – turn it on once the domain sits on Cloudflare.
Front-end framework React 18 + Vite + Tailwind + shadcn-ui Renders all course / test screens (Code library → your responsibility) Add client-side 18+ checkbox before starting tests. Day 0 – it’s the code you’re already writing. 🛠️
Source control GitHub Hosts repositories and issue tracking Yes Private repo recommended. Already set up.
AI coding assistant ChatGPT Codex Helps generate and review code Yes Use for internal dev only. Already in use.
URL shortener YOURLS (soulfi.re) Branded short links for campaigns Yes Self-hosted. Already live.