Skip to main content

Pastor posts weekly content to their Pro Website

Persona

A solo or small-staff pastor past the initial setup phase. Their site is live and they want to keep it fresh without spending an hour. They're comfortable with a simple form but not with markdown or code. They prefer "just type and post" over multi-step workflows.

Entry points

  1. Direct login — pastor bookmarks churchwiseai.com/admin/[token] and logs in weekly.
  2. Email reminder — optional Friday email from ChurchWiseAI ("Your site is ready for this week's update") with one-click "Post now" link.
  3. Browser tab — some pastors leave the Website tab open all week.

Click-through flow

Steps

  1. Log in to admin dashboard?tab=website. Website tab shows sections: Design (hero/logo), Content (posts), Settings (domain/timezone). Recent posts listed with edit/delete options.

  2. Click "New Post" — Modal titled "Create a Post." Dropdown for post type: Sermon, Announcement, Event, Photo Gallery, General Update. Event posts show date/time fields; Photo posts require an image.

  3. Fill in title, body, and optional image — Title (required, 1–100 chars), Body (required, 1–2000 chars plain text), Image upload (optional, max 5MB), Publish date (defaults to today). If bundled tier: optional AI assist card appears (see Step 4).

  4. Optional: AI-assisted draft (bundled tier only) — Inline card: "Let the Discipleship agent help." Text input: "Briefly describe this week's focus." "Generate Draft" button POSTs to /api/chatbot/draft with description + church context. Discipleship agent generates 100–300 word draft in the church's tradition voice. Draft populates Body field; pastor can edit freely. Site-only tier ($14.95) sees tombstone: "Add Chat Starter to unlock AI drafting."

  5. Preview and publish — Preview shows headline, featured image, body text, and "View on your site" link. Clicking "Publish" fires POST /api/premium/posts with { churchId, title, body, imageUrl, postType, publishDate, tier }. Supabase inserts row into church_posts. Success toast: "Your post is live!" ISR revalidateTag fires; public site updates within 10 seconds.

Acceptance spec

Canonical: knowledge/acceptance/cwa-pro-website.md (sections 4, 5, and 6).

Key coverage: content editor UX, AI draft (bundled tier only), post types, ISR revalidation, image handling (max 5MB, resized server-side).

Success criteria

  • Writing and publishing takes under 5 minutes.
  • Post appears on public website within 10 seconds.
  • Images sized correctly; text readable; matches site design.
  • Bundled tier pastors can optionally ask the AI to help draft a post.
  • Can edit or delete recent posts from the Website tab.

Known failure modes

  • AI draft too long or wrong voice. Discipleship agent sometimes generates 500+ words or generic corporate tone instead of pastoral warmth. Pastor can always edit before publishing.

  • Image uploaded but doesn't appear on public site. Check Supabase Storage path and ISR revalidation. Reload the public site after 15 seconds as a first diagnostic step.

  • ISR revalidation fails silently. Verify revalidateTag('church_posts_[churchId]') fires on each successful publish. Manual fallback: Ctrl+Shift+R on public site.

  • Bundled tier upsell copy misleading. Site-only tier tombstone should include upgrade price ($5/mo additional) or link to /pricing. Verify against acceptance spec Section 4.

  • Post metadata overwritten on re-edit. PUT /api/premium/posts/[postId] should merge, not full-replace. Only update fields present in the request body; preserve publishDate and postType from original.