Pastor starts SermonWise — signup, purchase, and first sermon
Persona
A solo pastor at a 75–200 member church, mid-week, stuck on Sunday's sermon. Found SermonWise via Google or outreach email. Attracted by the $19.95/mo price and 17 theological traditions. Moderate tech comfort. Wants to start generating sermon outlines immediately.
Note on plan key: The canonical plan key written to user_subscriptions.plan is sermon_pro (or sermon_pro_annual). The knowledge YAML uses sermonwise_pro — this mismatch is a known drift (readiness report 2026-04-22); the code is authoritative.
Entry points
- Direct search: "AI sermon preparation" →
sermonwise.ai - Outreach email CTA: "Try SermonWise AI — 15 sermon outlines per month" →
sermonwise.ai/pricing - Pricing page referral
- ChurchWiseAI homepage cross-promotion →
sermonwise.ai
Click-through flow
Steps
-
Lands on SermonWise pricing page —
sermonwise.ai/pricing(→/sermons/pricing). Two cards: Free ($0, 2 outlines/month) and Pro ($19.95/mo, 15/month, "Most Popular"). Annual option ($199.50/yr). FAQ section. CTAs append?plan=sermon_freeor?plan=sermon_pro. -
Signup form (if free tier entry) —
/sermons/signup: Google OAuth button, email + password, 17-tradition dropdown, newsletter opt-in, Turnstile captcha, "Create Account" button. Supabase Auth creates user.traditionstored inuser_metadata. Email verification sent. -
Email verification and auth callback — Click magic link →
sermonwise.ai/auth/callback. Supabase writestheological_lens_idtoprofiles. User redirected to/sermons/app. Welcome email fires for users withappSource='sermon_starter'. -
Free tier dashboard (optional trial) —
/sermons/app:CrossPromoBanner(dismissible): "Your AI ministry team goes beyond sermons. Explore ChurchWiseAI →". Stat cards: Time Saved, Sermons, Materials, Traditions (0/17), Usage Remaining (2/2, green). "+ New Sermon" button. -
Try free generation (optional) —
/sermons/app/new: 4-step wizard. Step 1: Scripture + optional theme, lectionary suggestions. Steps 2–4 collect tradition, preaching method, style/audience. "Generate Sermon Outline" button on Step 4. Free tier: enabled if usage remaining > 0. -
Generation on free tier —
POST /api/sermons/generate. Uses Haiku 4.5 (Anthropic API — the 2026-04-20 carve-out for per-prospect provisioning applies here; Vercel serverless can't ship theclaudebinary). Usage decrements from 2 to 1. Outline saved tosermon_outlineswith free tier marker. -
Upgrade decision and Pro checkout — Dashboard shows "Upgrade to Pro" CTA. Pastor clicks → Stripe Checkout for
sermon_proprice. -
Stripe Checkout for SermonWise Pro — Product "SermonWise Pro $19.95/mo" (or annual). Email pre-filled from auth. No trial. On success, redirects to
/sermons/app?upgraded=true. -
Post-checkout confirmation and subscription activation — Green banner: "Welcome to SermonWise Pro! You now have 15 sermon outlines per month." Dashboard usage badge: 15/15. Stripe webhook (
checkout.session.completed) → inbox → cron within ~60s.processStripeEvent()updatesuser_subscriptionswithplan='sermon_pro'(orsermon_pro_annual). -
Welcome email and ready to generate — Email from
hello@churchwiseai.com(Resend): "You now have 15 sermon outlines per month. Your first sermon is ready — [dashboard link]." Dedup vialifecycle_emails_sentprevents duplicate sends.
Acceptance spec
Canonical: knowledge/acceptance/sermonwise-pro.md (30 touchpoints, COMPLETE).
Pro tier features: 15 outlines/month, 17 traditions, Haiku 4.5 with deeper output, RAG-powered illustrations (300K+ resources), copy/export to Word, derivatives (Small Group Guide, Children's Sermon, Social Media Posts).
Checkout gate fix (2026-04-24): PR #45 resolved two issues: (1) CheckoutGate misfiring, blocking Pro users from app access after payment; (2) welcome email not sent on upgrade. Both now resolved via inbox pattern + cron retry.
Success criteria
- Confirmation email arrives within minutes of payment.
- Dashboard shows Pro tier active (15/15 usage badge).
- Can generate outlines with premium AI model immediately.
- All past free outlines remain accessible.
- Tradition selected at signup is pre-selected in the wizard.
Known failure modes
-
Tradition not persisting through OAuth signup. Google OAuth users skip tradition selection and are redirected to
/sermons/app/onboardingto select. Email form users skip onboarding if tradition was captured (fixed 2026-04-03). -
Free tier usage counter stale. Usage tracked in session memory; refreshed on page load.
user_subscriptionsis source of truth; recommend a page refresh if count looks wrong. -
Free → Pro payment decline. No automatic retry — user must update card manually and retry.