Release Notes
Updates / Release Notes
Follow recent Text-Book Adventures improvements, launch updates, feature
additions, and fixes.
Added a lightweight animated phone demo to the public homepage so the hero section better shows what Text-Book Adventures feels like in action.
Homepage Reading Demo Preview
- Added a homepage-only scripted phone preview component
- The demo visually mimics the real chat-style reading experience without using the real story engine
- The loop shows Kai sending story messages, typing dots, a Reading Time card, Listen and Say It button highlights, a green success check, the reader replying with the word, Kai praising the reader, and the adventure continuing before the loop resets
- Improved the phone mockup shape so it feels closer to an actual phone and closer to the real reader view
- Added automatic scrolling during the demo so the conversation follows the newest message like the real app
- Included reduced-motion handling for accessibility
- Kept the component isolated to the homepage marketing preview only
Safety / Validation Notes
- Homepage marketing/demo polish only
- No microphone, speech recognition, TTS, Supabase, auth, Stripe, OpenAI, Word Wizard generation, or real story engine logic was added
- The homepage demo is a safe scripted marketing preview only
- The real reader page and Parent Portal were not changed
- npm run check passed with 0 errors
Fixed an issue where Word Wizard could incorrectly default to Kindergarten for readers whose saved default grade was higher, such as Grade 3. Word Wizard now correctly uses the active reader's default grade when opening the Word Wizard setup screen, while still allowing parents and readers to choose from all supported grade levels.
Word Wizard Grade Selection Fix
- Word Wizard now defaults to the selected reader's saved grade level when available
- The Word Wizard grade dropdown now includes Kindergarten, Grade 1, Grade 2, Grade 3, and Grade 4
- If a reader's saved grade is missing or invalid, Word Wizard safely falls back to Kindergarten
- Static storytellers still use their own authored grade availability and were not changed
Technical / Validation Notes
- Fixed in src/routes/start/+page.svelte
- Root cause: Word Wizard placeholder story only defined Kindergarten as an available level, so the grade dropdown was being limited to Kindergarten
- Word Wizard now uses the app's supported reader grade levels instead of static story variant availability
- No Supabase schema changes
- No Stripe, billing, entitlement, reader-seat, or server generation protection changes
- npm run check passed with 0 errors and 0 warnings
Updated the public homepage and plans page to make Word Wizard easier for non-technical parents to understand. Word Wizard is now presented less like an internal feature name or AI tool, and more clearly as custom weekly sight-word stories guided by the parent.
Clearer Word Wizard Membership Language
- Improved how Word Wizard is explained on the main page
- Repositioned Word Wizard as custom weekly sight-word stories
- Made it clearer that parents upload their child's sight words and Word Wizard turns those words into reading adventures
- Clarified that the ready-made storyteller library and Word Wizard custom stories are separate offerings
- Updated plan language so Adventure Library Pass means ready-made story adventures
- Updated plan language so Word Wizard Family means custom weekly sight-word stories
- Updated plan language so Word Wizard Family Plus means custom weekly stories for more children
- Reworded technical terms like active Word Wizard readers into parent-friendly language such as custom stories for up to 2 children
- Reduced wording that could feel too technical, such as generated story packs, premium story family, or active reader seats
- Pricing and billing behavior were unchanged
Technical Notes
- Public copy cleanup only
- No Stripe pricing changes
- No billing logic changes
- No entitlement changes
- No Supabase schema changes
- No Word Wizard generation logic changes
- No route changes
Parents can now guide the kinds of custom Word Wizard stories created for their reader. Instead of Word Wizard feeling like a vague AI story generator, it now feels parent-guided: parents choose the story style, tone, favorite topics, and simple content boundaries before new sight-word stories are created.
Word Wizard Story Preferences
- Added a new Parent Portal card called Word Wizard Story Preferences
- Parents can choose a story style such as Adventure, Mystery, Fantasy, Space, Animal story, Silly story, Everyday life, Pirate, or Dinosaurs
- Parents can choose a tone such as Gentle, Funny, Exciting, Calm, Cozy, or Silly
- Parents can add favorite things to include, such as rockets, moon, unicorns, soccer, or camping
- Parents can add things to avoid, such as spiders, storms, dark caves, or thunder
- Added clear built-in safe story settings for parent trust
- Parents can use the same preferences for all three weekly Word Wizard stories
- The app also supports separate preferences for Story 1, Story 2, and Story 3
- New Word Wizard stories now use saved parent preferences during real LLM generation
- Existing saved Word Wizard stories are reused and are not automatically regenerated
- Mock Word Wizard stories now use all assigned sight words
- Mock recap questions now check retention of a word the child actually read
- Production real LLM testing passed with all five assigned sight words used
Technical / Validation Notes
- Added Supabase storage for Word Wizard reader story preferences
- Added the RLS-protected word_wizard_reader_story_preferences table
- Added shared all_stories preferences and per-story story_slot preferences
- Added client-side preference save/load helper
- Added server-side preference resolver for story generation
- Added parent preference injection into the real Word Wizard LLM prompt
- Added preference snapshot fields to generated story metadata
- Updated Vercel production environment timeout to WORD_WIZARD_LLM_TIMEOUT_MS=45000 to fix real LLM timeout at 30000ms
Parent-feedback polish focused on reader pacing, Reading Time flow, browser voice compatibility, and teacher-aligned Kai Kindergarten stories.
Reading Experience Improvements
- Added Reader Conversation Pace controls so parents can adjust story message speed for each reader
- Added a live three-Kai-bubble preview in the Parent Portal that replays at the selected message speed
- Applied reader message pace to story bubbles, Reading Time introductions, and child-device reading sessions
- Updated Kai Kindergarten stories with a teacher-aligned guided letter β word β payoff structure
- Removed major A/B branching from Kai Kindergarten stories so early readers progress by reading letters and words
- Applied Kindergarten vowel separation across Kai variants with A, O, I, E, and U split into separate story sets
Reading Time Updates
- Added a clearer Ready β 3 β 2 β 1 β Go countdown before listening begins
- Added Checking status before Reading Time success or retry feedback
- Improved success, wrong-answer, and no-speech feedback with larger, friendlier status messages
- Auto-retries wrong spoken responses before using the existing fail path after three actual wrong attempts
- Treats no-speech browser misses as technology misses instead of reader failures
- Improved Kindergarten letter and short-word matching with safer aliases while keeping tiny words from passing too loosely
- Polished Listen and Say It button styling and Reading Time card layout
Parent / Browser Compatibility
- Added Browser Voice Compatibility card to the Parent Portal
- Shows the current Listen pronunciation voice, available English voices, total browser voices, and Say It speech-check support
- Added Preview Voice button so parents can test the pronunciation voice from the Parent Portal
- Added a small Current Voice helper note to the reader screen for easier browser/device troubleshooting
- Kept the reader voice note outside the phone frame so it does not block story content or force scrolling
Post-launch polish focused on Kindergarten reading flow, Word Wizard reliability, and public launch-page cleanup.
New Features / Updates
- Started Kindergarten story improvement planning based on teacher feedback
- Planned simpler Kindergarten guided adventures with letters and simple words
- Improved Word Wizard prompt behavior so generated stories use all five assigned sight words
- Added live-safe billing display copy for public pages
- Added public Plans page for families to review pricing before creating an account
Bug / UI Fixes
- Cleaned public footer consistency across public pages
- Improved live billing copy so test-mode language is hidden in production
- Confirmed Extra Word Wizard Reader add-on flow through live Stripe smoke testing
- Validated production Word Wizard story generation after launch
Initial live release of Text-Book Adventures with static storytellers, parent tools, billing, and Word Wizard support.
New Features / Updates
- Launched public homepage
- Added Start Reading experience with chat-style story adventures
- Added storyteller library with Kai, Belle, Mira, Nova, and Unicorn Knight Brooklyn
- Added Kindergarten through Grade 4 static story support
- Added Parent Portal for reader profiles, progress, and settings
- Added Kudos and badge tracking
- Added Parent Lock and child-safe menu behavior
- Added public Privacy Policy, Terms of Use, Support, Delete Data, and Plans pages
- Added Stripe billing support for Adventure Library Pass and Word Wizard subscriptions
- Added Word Wizard support for parent-uploaded sight-word lists
Bug / UI Fixes
- Cleaned production database for launch while preserving required schema and configuration
- Completed final launch-candidate regression testing
- Validated production deployment flow
- Validated live Stripe checkout and webhook entitlement updates
- Validated Word Wizard reader-seat enforcement
Launch-candidate preparation release focused on public pages, final story rewrites, and deployment readiness.
New Features / Updates
- Moved the reading app to /start
- Added public landing page at /
- Added shared public footer component
- Completed final static story rewrite pass
- Updated Grade 4 stories to follow the fluid shared-adventure structure
- Added branch-aware recap questions tied to each childβs actual story path
Bug / UI Fixes
- Fixed in-story Start Reading behavior to warn before leaving current story progress
- Improved parent-safe menu behavior during Parent Lock
- Cleaned footer links across public pages
- Completed final launch readiness checklist