Luminous CMS — Site Creation Flows

Screen-by-screen walkthrough of how sites get created, from brief to live.

Operator (us)
Self-service (customer)
Client editing
System (automated)

Flow 1: Operator Creates Site (Admin Panel)

1
Screen: /generate

Fill Out Business Brief

Operator enters business details into the Generate Site form.

Fields: Business Name*, Industry*, City, State, Phone, Email, Key Services, Tone, Style, Differentiator, Notes
2
API: POST /api/generate

AI Generates Content (30-60s)

Claude Sonnet generates a complete seed JSON: pages, sections, services, team, testimonials, FAQs, blog posts, nav links. MANIFEST.json guides block selection and industry-appropriate variants.

3
Screen: /generate (results)

Review Generated Content

Counts grid shows what was generated. Seed preview shows approximate page layouts. Per-section "Regenerate" buttons allow swapping individual blocks.

Shows: Pages, Sections, Services, Team, Testimonials, FAQs, Blog Posts, Nav Links
4
Screen: /generate (provision section)

Enter Admin Email + Provision

Operator enters the client's admin email and clicks "Provision Site".

5
API: POST /api/provision

7-Step Automated Provisioning

All steps run inside the Worker — no CLI needed.

1. Create site record in D1
2. Create CF Pages project
3. Get/create deploy hook + update settings
4. Create admin user
5. Seed all content into D1
6. Create DNS records (site + admin subdomains)
7. Trigger first deploy
6
Screen: /generate (result card)

Provision Complete

Step-by-step results shown. Links to admin panel and live site. Client receives magic link email.

Admin: admin-{slug}.phronemalabs.com
Site: luminous-{slug}.pages.dev
Subdomain: {slug}.phronemalabs.com
Optional next step: Operator runs Go-Live (Settings → Domain & Go-Live) to wire up a custom domain. Automates DNS, SSL, HSTS, www redirect, and WAF rules. Currently only works for domains already on Cloudflare.

Flow 2: Self-Service Signup (Public)

1
Screen: /signup

Fill Out Business Brief

Customer fills out the same brief form as the operator flow, plus email. Turnstile verification required. Rate limited to 3 generates/hour per IP.

2
API: POST /api/signup/generate

AI Generates Content (30-60s)

Same Claude generation as operator flow. Seed stored in pending_signups table. Counts returned to UI.

3
Screen: /signup (preview step)

Review + Subscribe

Customer sees content counts, feature list, and site preview. Clicks "Subscribe & Launch" to proceed to payment.

4
Stripe Checkout (external)

Payment

Redirected to Stripe Checkout for subscription payment. pending_signup status updated to "checkout".

Status: NOT YET CONFIGURED — needs Stripe product/price + 3 Worker secrets
5
API: POST /api/stripe-webhook

Auto-Provision on Payment

Stripe webhook fires checkout.session.completed. API provisions site from stored seed, creates admin user, sends welcome email with login link.

6
Screen: /signup/success

Building Your Site...

Polls for provisioning status. Shows spinner, then links to admin panel and live site when ready.

7
Email (Resend)

Welcome Email Sent

Customer receives email with login link (7-day JWT), admin panel URL, and live site URL.


Flow 3: Client Edits Their Site

1
Screen: /login

Magic Link Login

Client enters email, receives magic link (15min expiry), clicks to authenticate. JWT stored in cookie for 7 days.

Admin URL: admin-{slug}.phronemalabs.com
2
Screen: / (Pages view)

Pages Dashboard

Grid of all pages showing title, slug, block types, status (published/draft), last updated. Admins see "+ New Page" and "Publish Changes" buttons. Editors see content only.

3
Screen: /pages/{id}

Page Editor

Left panel: draggable block list. Right panel: block field editor (text, rich text, images, dropdowns). Changes auto-save. Status toggle: published/draft.

Actions: Drag reorder blocks, Add Block, Delete Block, View Live, Deploy
4

Also Editable via Sidebar

Blog posts, Services, Team, Testimonials, FAQs, Media, Nav links, Submissions — each has its own list + edit view. All changes save as drafts until published.

5
Button: "Publish Changes" or "Deploy"

Publish

Triggers site rebuild via GitHub Actions or deploy hook. Astro builds with LUMINOUS_SITE_ID, deploys to CF Pages.

6
Status: Building → Live

Site Rebuilt (~60 seconds)

Status polls every 5 seconds. Green "Live!" indicator when complete. Changes now visible on the public site.


Admin Panel Screens

Content (all users)

/ — Pages (grid + editor)
/blog — Blog posts (TipTap rich text, featured images)
/media — Media library (upload, select, delete)
/services — Services collection
/team — Team members collection
/testimonials — Testimonials collection
/faqs — FAQs collection
/submissions — Contact form submissions
/activity — Edit history / activity log

Admin only

/settings — Site settings (name, phone, email, hours, colors, fonts)
/nav — Navigation links (drag reorder)
/integrations — GTM, chat widget, scheduling, cookie consent
/templates — Template browser
/generate — AI site generation + provisioning
/help — Help & guides

Not Yet Built

Template marketplace — Pick from pre-built designs instead of generating from scratch
External domain automation — Go-live for domains not on Cloudflare
Weekly client report — Automated email showing site activity
AI images in provision — Replicate-generated images replace Unsplash placeholders
Stripe self-service — Product/price + webhook secrets not yet configured
Luminous CMS — Phronema Labs — Updated August 26, 2026