Public copy. Infrastructure addresses removed. Full version behind the admin gate at /internal/decks.
The Multiverse Stack Two products, one host, and everything they lean on themultiverse.school + multiversecampus · 2026-08-06 Edge & ingress — Cloudflare — DNS, CDN, Full Strict TLS — Traefik — reverse proxy, auto Let's Encrypt — Coolify manages Traefik; you rarely touch it directly The homepage is edge-cached. Deploys need a purge. School — themultiverse.school Python 3.11 · Flask · gunicorn 2 workers × 2 threads · port 8080 — Enrollment and payments — three coexisting paths — Curriculum delivery, gated on enrollment by curriculum_slug — Admin dashboard, CRM, financials, scholarships — Mutual Aid intake, routing and the Resource Commons — Passwordless magic-link auth, Redis-backed sessions PRs target `production`, never `main`. Campus — multiversecampus Node · React · Vite · TypeScript · Socket.IO — The pixel-art world: movement, buildings, housing, quests — Proximity video calls, presence, live captions — 16 NPC agents with schedules, tools and memory — Bazaar, bestiary, pets, economy, store — 70 OpenSpec capability specs describe every subsystem PRs target `main`. prod and main have forked both ways. Data plane — PostgreSQL 16 — one database, BOTH products — Redis 7 — sessions, shared for cross-domain SSO — `students` is the users table for everyone who logs in — Neon = PR previews + warehouse only, never prod (#459) — Migrations auto-apply on staging deploy Staging auto-migrates the shared PRODUCTION database. Job & queue plane — job-runner container at /opt/job-runner — its own deploy — Windmill drives the schedules, not repo cron or n8n — pg-boss on campus; school↔campus dispatch over RPC — NATS for events; email worker consumes it — full_enrollment_process runs every ~10 minutes, 17 phases Deploying the app does NOT deploy the jobs. AI plane — Self-hosted inference host — Qwen3-30B-A3B, llama.cpp — Groq for campus agents — currently at 92% of quota — OpenRouter as fallback and for image generation — Langfuse for pipeline observability — MCP servers: registrar, program manager, Stripe, SQL 30GB RAM means exactly one 18GB model at a time. Comms & media — Matrix Synapse — on a SEPARATE host, API access only — LiveKit SFU — the video backbone for campus calls — @aethrix is the admin/bot identity — Matrix rooms per class and per cohort LiveKit sits in DE. US students feel it. Money & mail — Stripe is the SOURCE OF TRUTH for every enrollment — Platform webhook + Connect webhook + batch safety net — SendGrid for all outbound email — the secret manager holds the production secrets Never write enrollment rows without a Stripe purchase. Storage & backup — Layer 1 — Postgres PITR, on host — Layer 2 — nightly dumps, 60-day retention — Layer 3 — Cloudflare R2 cold storage, off-site — GCS still serves some curriculum builds Layer 3 was silently dead for 3.5 months. Observability — GlitchTip → deduplicated GitHub issues · Grafana + Loki for logs · Prometheus + Pushgateway for metrics — Gatus for uptime · Dozzle for live tails · Deploy guard suppresses false escalations during restarts Missing: resource thresholds, synthetic funnel checks, Stripe reconciliation. Four of nine incidents this quarter ran silently for months. All of the above — except Matrix and LiveKit — runs on ONE single ARM host in Helsinki, orchestrated by Coolify.

Tour mode

Space / next · previous
Home / End first / last
19 jump to frame

Explore mode

Click any highlighted region to zoom in.
Click further-in regions to drill deeper.
Backspace / Esc — zoom back out
O — return to overview

Anywhere

M — toggle mode
T — toggle frame list
F — fullscreen · R — restart
0 / 0 Tour