Pro Website — Manual Review Log
How to use this file:
- Founder fires questions / comments / concerns as they walk the flow
- Agent captures each one under the relevant section below with a short title + verbatim observation + preliminary triage (P0 / P1 / P2 / question)
- At the end of the session, we convert the punch list into either (a) PRs on feature branches, or (b) FA-### entries in
FOUNDER_ACTIONS.mdfor the bigger ones
What's in scope: everything a would-be customer sees or does between first impression and a working dashboard, across the funnel.
What's out of scope (for this file): already-tracked items — FA-045 (CI tests workflow drift), FA-044 (demo hero videos), FA-046 (churn-return auth hole).
Section 1 — Ways to reach /pro-website
Question: How many entry points should route a would-be customer to Pro Website, and which ones are actually wired today?
Founder's guess: (to fill in)
Agent's guess (before searching): 8. Direct URL, /pricing, homepage, header nav, footer, /apps marketplace, PewSearch cross-promo, admin dashboard upsell for existing customers.
Actual inventory — churchwiseai.com surfaces (8 live)
| # | Surface | File:line | Notes |
|---|---|---|---|
| 1 | Header desktop primary nav | src/components/Header.tsx:83-88 | Globe-icon link, sm:flex (always visible on ≥640px) |
| 2 | Header mega-dropdown → Products | src/components/Header.tsx:74-80 | With $19.95/mo tagline |
| 3 | Header mobile slide-out nav | src/components/Header.tsx:158 | Mobile only |
| 4 | Homepage product grid card | src/app/page.tsx:69-74 | Globe icon, $19.95 USD/mo |
| 5 | Homepage 2-min YouTube tour | src/app/page.tsx:361-365 | Title references Pro Website; viewer is meant to scroll / click into /pro-website next |
| 6 | /pricing — Learn more link | src/app/pricing/page.tsx:160 | Single link, no full card |
| 7 | /help/pro-website — self-referential | src/app/help/pro-website/page.tsx:43 | For people already orienting themselves |
| 8 | sitemap.xml | src/app/sitemap.ts:23 | SEO only (not clickable in app), priority 0.9 |
Actual inventory — From /pro-website page itself (3 CTAs all to /onboard?plan=cwa_pro_website)
| # | CTA location | File:line |
|---|---|---|
| A | Hero CTA | src/app/pro-website/page.tsx:175 |
| B | Mid-page CTA | src/app/pro-website/page.tsx:381 |
| C | Footer CTA | src/app/pro-website/page.tsx:443 |
Actual inventory — Cross-property / external (6 live)
| # | Surface | File:line | Notes |
|---|---|---|---|
| 9 | pewsearch.com homepage — right-column CTA | pewsearch/web/src/app/page.tsx:200-202 | Prominent gold button |
| 10 | pewsearch.com homepage — bottom banner | pewsearch/web/src/app/page.tsx:351 | Second CTA on same page |
| 11 | pewsearch.com /pricing — Pro Website card | pewsearch/web/src/app/pricing/page.tsx | Full-size middle card, "Most Popular" |
| 12 | pewsearch.com layout header | pewsearch/web/src/app/layout.tsx:83-88 | Pro Website link in nav + mobile drawer |
| 13 | pewsearch.com starter-kit landing | pewsearch/web/src/app/starter-kit/[token]/page.tsx:51, 116-117 + ProWebsiteLink.tsx | Cold-outreach funnel: "Tell me more about Pro Website →" fires /api/outreach/pro-website-click/[token] attribution |
| 14 | Template footer on *.john316.church sites | src/components/templates/shared/TemplateFooter.tsx:34 | "Powered by ChurchWiseAI" → /pro-website. Every live Pro Website site markets itself. |
Indirect / product-aware references (not true entry points)
/api/chatbot/unified— unified chatbot mentions/pro-websitein its canned responses when users ask about plans (lines 144, 157)SetupGuide.tsx— in-product guide for existing Pro Website customers (conversion already happened)WebsiteTab.tsxfor Pro/Suite customers — "Set Up Your Pro Website" CTA. ⚠️ Stale: points topewsearch.com/admin/{token}— wrong URL for acwa_pro_websitecustomer on churchwiseai.com admin. Probably never fires for cwa_pro_website because the admin router shows the fullWebsiteTabEditorinstead, but if a Suite customer ever lands here the link is broken.stripe-synthetic-validator.ts,outreach-types.ts,tier-config.ts,premium-shared.ts,pricing.ts,template-labels.ts— plan key references (not user-facing)
Total: 14 active entry-point surfaces + 3 same-page CTAs
Gaps — where you'd expect an entry but there isn't one
| Where | What's missing | Worth adding? |
|---|---|---|
/apps marketplace | Zero mention of Pro Website. The header dropdown's Platform section points here — if a visitor clicked through expecting to see the product catalog, it's not there. | Yes — add a card alongside Voice/Chat |
/demo page | Zero mention. The page promotes voice + chat demos. No "See a live Pro Website" link. | Yes — link to the-bridge-church.john316.church or similar demo subdomain |
/thank-you | Zero cross-sell. A chatbot customer finishing onboard doesn't see "Also get a Pro Website?" | Maybe — risks being pushy, but chat→web is a natural upsell |
| Blog / resources | No content-marketing posts about Pro Website yet (blog grep returned zero) | Over time — SEO play |
/integrations, /compare/[slug], /ai-for/[denomination] | No Pro Website linkouts | Yes for /compare — Pro Website competes against Wix / Squarespace / Subsplash; a dedicated /compare/wix would be high-intent traffic |
| Lifecycle emails (welcome, day-3, day-7) | No Pro Website mention in welcome email for chatbot customers | Maybe — upsell later in lifecycle, not in welcome |
/contact Cal.com booking | No "book a Pro Website demo" variant | Probably not — too niche |
| ITW / illustratetheword.com | No cross-promo to Pro Website | Probably yes — ITW pastors are the exact audience |
SermonWise /sermons | No cross-promo | Probably yes — same audience |
Gaps — inconsistencies in existing entries
/pricingtreatment is asymmetric. Voice/Chat/Suite tiers get full cards with monthly/annual prices, feature bullets, and direct/onboard?plan=XCTAs. Pro Website gets a single "Learn more →" link to the marketing page. A would-be customer has to click through to /pro-website THEN click "Continue to Payment" — one extra step vs. any other plan.- Header desktop has Pro Website listed TWICE — once in the primary nav bar (item 1 above) and once in the mega-dropdown (item 2). Not broken, but a visitor who first hovers the "Products" dropdown to discover it, then sees it's also a top-level link, may read redundancy as "this is the most important thing" or as "messy IA." Low stakes.
- Template footer "Powered by ChurchWiseAI" links to
/pro-websitenot homepage. That's actually clever growth marketing (each customer's site sells the product), but worth double-checking it's intentional vs. a copy-paste. - Stale
WebsiteTab.tsxCTA — the Pro/Suite customer's read-only tab links topewsearch.com/admin/{token}which is wrong for any CWA customer. Low blast radius but dead code that could confuse someone. - Homepage YouTube tour has no close-out CTA. The iframe plays, viewer is interested, but nothing below the video says "Start your Pro Website →". Missed conversion.
Section 2 — Landing page (/pro-website)
(founder observations go here)
Section 3 — /onboard?plan=cwa_pro_website wizard
(founder observations go here)
Section 4 — Stripe checkout (embedded)
(founder observations go here)
Section 5 — /onboard/return polling + /thank-you
(founder observations go here)
Section 6 — Welcome email (magic link)
(founder observations go here)
Section 7 — Admin dashboard first-run (/admin/[token])
(founder observations go here)
Section 8 — Pro Website editor (Website tab)
(founder observations go here)
Section 9 — Public subdomain render ({slug}.john316.church)
(founder observations go here)
Section 10 — Cross-cutting / policy questions
10a — Cold-email flow routes to pewsearch.com, NOT churchwiseai.com [POLICY + P1]
Founder question (2026-04-18): "We have just emailed pastors about signing up with pewsearch.com Pro Website. If any of those sign up, we will forward to churchwiseai — is that correct, or what are we doing with those emails with the auth token link directly to pewsearch pro website?"
Actual behavior today:
- 136 cold emails sent via PewSearch starter-kit funnel; 5 clicks on starter-kit; 0 clicks on Pro Website CTA; 0 conversions.
- Cold-email Pro Website CTA points to
pewsearch.com/claim/[slug]?tier=pro_website&ref=outreach_[token](pewsearch/web/src/app/starter-kit/[token]/page.tsx:52). - Converts through pewsearch.com's own Stripe pipeline → pewsearch.com webhook (normalizes
tier=pro_website→ps_pro_website) →premium_churchesrow withplan='ps_pro_website'. - Welcome email links to
pewsearch.com/admin/{token}(not churchwiseai.com). - CWA webhook explicitly SKIPS any checkout with
tier IN ('ps_pro_website', 'pro_website')(src/app/api/stripe/webhook/route.ts:149-153), so there's no accidental double-provisioning. - Same database, same Stripe price ID, same
{vanity}.john316.churchpublic render (both plan keys flow through/s/[slug]). - Key consequence: a cold-email Pro Website conversion does NOT unlock the Axis A 60% cap on the readiness scorecard, because the cap query filters
plan='cwa_pro_website'specifically.
Three paths (founder's call):
- Leave as-is. Two parallel pipelines. Works today; doubles admin-URL confusion for support.
- Redirect cold-email CTA to churchwiseai.com/onboard. One-line fix in
pewsearch/web/src/app/starter-kit/[token]/page.tsx:52→https://churchwiseai.com/onboard?plan=cwa_pro_website&pewsearch_slug=[slug]&ref=outreach_[token]. The onboard form already handlespewsearch_slugprefill (src/app/onboard/page.tsx:28-44) so the pastor doesn't re-enter church name/city/denom. Agent recommendation: option 2 before the next outreach batch. - Unify on the backend. Too much work for <1 conversion/week at this stage.
Decision / action: (to fill in)
If option 2: also need to decide what to do with the pewsearch.com /pro-website page CTAs (lines 253, 559, 628) and pewsearch.com homepage CTAs (lines 200-202, 351) — they currently go to pewsearch.com/directory?claim=true&tier=pro_website. Consistent product story says those should also redirect to churchwiseai.com; but they serve general PewSearch traffic, not cold-email traffic, so the trade-off is different.
Triage summary (compiled at end of session)
(P0 / P1 / P2 / questions grouped here when walkthrough is done)