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
- Direct login — pastor bookmarks
churchwiseai.com/admin/[token]and logs in weekly. - Email reminder — optional Friday email from ChurchWiseAI ("Your site is ready for this week's update") with one-click "Post now" link.
- Browser tab — some pastors leave the Website tab open all week.
Click-through flow
Steps
-
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. -
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.
-
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).
-
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/draftwith 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." -
Preview and publish — Preview shows headline, featured image, body text, and "View on your site" link. Clicking "Publish" fires
POST /api/premium/postswith{ churchId, title, body, imageUrl, postType, publishDate, tier }. Supabase inserts row intochurch_posts. Success toast: "Your post is live!" ISRrevalidateTagfires; 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; preservepublishDateandpostTypefrom original.