Skip to main content

Subscriptions & Plans

GospeLib uses a freemium subscription model where the base reader is free and genuinely better than existing LDS scripture apps, while scholarly features are available on paid tiers. The free tier IS the acquisition funnel -- it must be good enough that users choose to stay, and the paid features must be compelling enough that serious students choose to upgrade.

Overview

TierPriceAudienceKey Features
Reader (free)$0All membersScripture reading, basic search, Topical Guide, annotations (highlights, notes, bookmarks)
Scholar$79.99/yearSerious students, educators+ Interlinear Hebrew/Greek, manuscript witnesses, scholarly commentary, knowledge graph explorer, AI study assistant (50 req/hour)
Academic$149.99/yearResearchers, faculty+ All features, higher rate limits (200 AI req/hour, 1000 search/min)

All new users receive a 14-day Scholar trial on signup to experience the full platform before deciding on a plan.

Entitlement Map

Features are gated by entitlements checked at the API gateway level:

EntitlementReaderScholarAcademic
scriptures_readYesYesYes
basic_searchYesYesYes
topical_guide_browseYesYesYes
interlinear_hebrew_greekNoYesYes
manuscript_witnessesNoYesYes
scholarly_commentaryNoYesYes
knowledge_graph_explorerNoYesYes
cross_references_advancedNoYesYes
ai_featuresNoYesYes

The Academic tier has wildcard entitlements ("*") plus higher rate limits.

Rate Limits

ResourceFreeScholarAcademic
AI requests5/hour50/hour200/hour
Search20/min200/min1000/min
Passages60/min600/min600/min

Subscription UX

Diamond Indicators

Premium features are marked with a diamond indicator throughout the UI. When a free-tier user encounters a gated feature, they see a warm, inviting prompt rather than a hard paywall. The design philosophy is "warm unlock moments" -- the user should feel invited, not blocked.

Plan Comparison

The subscription page shows a side-by-side plan comparison with clear feature differentiation. The checkout flow uses Stripe Checkout for PCI-compliant payment processing.

Billing Portal

Existing subscribers can manage their subscription (upgrade, downgrade, cancel, update payment method) through Stripe's customer portal, accessed via a link in the account settings.

How Entitlements Are Enforced

Entitlements are enforced at the API gateway level with O(1) Redis lookups -- no service calls in the hot path:

  1. The billing service pushes entitlement data to Redis at startup and on subscription changes
  2. Cache key format: gl:entitlements:<planId>:<feature> with values "1" or "0"
  3. The gateway extracts X-User-Plan from JWT claims
  4. A single Redis GET per request determines whether the route is allowed
  5. If denied, the gateway returns 403 Forbidden with a descriptive error

This design ensures that a user who pays immediately gets access, and a failed payment immediately revokes access -- with no caching delays beyond the 60-second TTL.

Stripe Integration

Stripe manages all billing:

  • Webhooks -- subscription.created, subscription.updated, subscription.deleted, and invoice.payment_failed events are processed by the billing service
  • Idempotency -- Every webhook event is checked against gl_stripe_events before processing to prevent duplicate actions
  • Plan configuration -- Price IDs and product IDs are environment variables (test keys in staging, live keys in production)

Deep Dive: Market Context

The pricing is positioned against comparable products:

  • Gospel Library (LDS Church) -- Free, no scholarly tools
  • Logos Bible Software -- $49.99-$1,299.99, deep scholarship, zero LDS orientation
  • Faith-app market -- Growing at 14.6% CAGR; AI study tools establishing $60-$80/year price tier

Conservative projection: 20,000-40,000 paying subscribers at maturity for $1.5M-$3.5M ARR.