Skip to main content

Pastor finds and uses a premium illustration

Persona

A Premium subscriber preparing a sermon on a specific topic. They need a high-quality illustration that will resonate with their congregation. They want to find it quickly, read it in full, and copy or print it. They trust ITW's curation and don't want to vet every illustration for accuracy — they want to focus on sermon prep.

Entry points

  1. Topic search/search?q=forgiveness — keyword across titles, bodies, themes, scripture refs.
  2. Browse by scripture/scriptures/john-3-16 — illustrations tagged to a passage.
  3. Browse by emotion/emotions/joy or /emotions/grief.
  4. Browse by tradition/traditions/liturgical or /traditions/pentecostal.
  5. Direct link/illustrations/[slug] — bookmarked or received via email recommendation.

Click-through flow

Steps

  1. Search or browse for illustrations — Grid of illustration cards: title, teaser/excerpt, content-type badge (e.g., movie analogy, devotional), theological tradition badge. All tiers are visible in results (no lock icons on cards). Search queries unified_rag_content via vector similarity, filtered to exclude flagged content (flagged_at IS NULL) and progressive Christianity content pending review. Response target: <500ms.

  2. Land on illustration detail page — Premium subscriber sees complete content: title, full body text, scripture references, topics/themes, emotions, theological traditions. Action buttons: Copy (clipboard), Share (link), Favorite (heart), Add to Collection (folder), Personalize (pencil), Print. Below: Related Illustrations section (6 cards), LensLines section (tradition-specific commentary on the scripture passage), StockPhotos, MovieInfo (if movie analogy), ChurchWiseAI cross-sell promo.

  3. Copy illustration text — Copy button copies full body text including attribution and scripture refs to navigator.clipboard. Button text shows "Copied!" for 2 seconds. No watermark injected into copied text.

  4. Review related content and LensLines — Related Illustrations: 6 cards matching related topics, scripture, and themes (separate RPC query to unified_rag_content, filtered by shared tags). LensLines: tradition-specific commentary loaded from sai_theological_lenses table, matched by scripture ref. If no LensLines rows for the passage, section is hidden gracefully.

  5. Personalize, share, or saveFavorite: inserts row into user_favorites (user_id, illustration_id, created_at). Illustration appears on /favorites. Add to Collection: if no collections yet, prompts to create one; then adds illustration_id to the collection. Personalize: modal with editable text field — changes stored locally (session storage) and appended when copied. Share: copies illustration URL to clipboard. Print: opens print-friendly page optimized for 8.5"x11".

Acceptance spec

Canonical: knowledge/acceptance/itw-premium.md (Touchpoints 18–24: premium content access, LensLines, copy/print/share).

Success criteria

  • Searching or browsing returns relevant illustrations within seconds.
  • Full illustration renders with no gate, no "Upgrade" message.
  • Copy copies full text to clipboard (not a truncated teaser).
  • Print opens clean printable version (no site chrome).
  • Favorites and Collections are accessible on /favorites and /collections.
  • Attribution and scripture references are clear and accurate.

Known failure modes

  • Slow embedding queries. If unified_rag_content vector search exceeds 500ms on cold cache, detail pages feel slow. Monitor query performance; consider caching or denormalization.

  • Flagged content appearing in results. All queries must include WHERE flagged_at IS NULL. Verify search, browse, and related-illustrations endpoints enforce this.

  • LensLines empty state. If no rows for the passage in sai_theological_lenses, hide the section gracefully — do not render an empty box.

  • Movie/stock photo components missing. If OMDB API is down or stock image lookup fails, render empty state or fallback text — never a broken image or error.