The full nightly ritual. Sign up → onboarding (child name + DoB) → survey → Child Report → lesson selection → 3-step co-creation (characters, places, mood) → paginated story reader → save to world.
The Child Report and lesson cards. AI-written profile in the brand voice; five lesson recommendations with priority pips, each tappable to seed a story.
The Living World. Persistent characters and places, deduplicated case-insensitive, auto-extracted from each story (with the parent confirming before save). World viewer + per-element editor live.
Illustrations for every user. Gemini 2.5 Flash Image rendering character portraits, place portraits, and scene illustrations — gated through a feature flag, canary allowlist, and runbook, then rolled out to everyone. (Phase C.1 → C.6, shipped this week.)
Stripe Founding Members tier. Checkout with 30-day trial, customer portal, webhook-driven entitlement, founding-slots sweep (500 cap), trial-nurture email at day 5.
PWA. Web app manifest, iOS splash screens at all sizes, OG share card, favicon.
Observability + analytics. Sentry (errors), PostHog (product analytics), both EU region.
Account hygiene. Self-serve subscription portal, account deletion, data export, privacy + terms pages.
Quality gates. Vitest unit + integration (real Postgres via WASM pglite), Playwright E2E (chromium), four GitHub Actions workflows including a Claude code-review pipeline.