-
Notifications
You must be signed in to change notification settings - Fork 1
Requirements and Specifications
- 1. Document Revision History
- 2. Project Abstract
- 3. Customer
- 4. Competitive Landscape
- 5. Functional Requirements
- 6. Non-functional Requirements
- 7. User Interface Requirements
| Version | Date | Description |
|---|---|---|
| Rev 1.0 | 2025-10-4 | Initial version |
| Rev 1.1 | 2025-10-5 | Pages Integration |
| Rev 1.2 | 2025-10-19 | Update Test cases to align with new flow |
| Rev 1.2 | 2025-11-2 | Minor revision on voice selection |
| Rev 1.2 | 2025-11-16 | Update Test cases and User story & Acception Criterion to align with new flow, update UI implementations |
| Rev 1.3 | 2025-11-30 | Update App FLow & UI Specification |
| Rev 1.3 | 2025-12-7 | Update Functional Requirements, App Flow & UI Specification |
StoryBridge is a software solution designed to ensure inclusive storytime for multicultural children who find Korean difficult to understand in Korean kindergartens. Recognizing that nearly all classroom books are exclusively in Korean, StoryBridge transforms physical Korean picture books into interactive, translated reading experiences in a child’s preferred non-Korean language.
This intentional direction fosters linguistic and cognitive growth. A strong home-language foundation is critical for cognitive, linguistic, and socio-emotional development, often leading to comparable or superior literacy in the majority language. StoryBridge ensures multicultural children can access the same classroom books for better comprehension and engagement.
1. Intelligent Camera Capture
- Automatic, hands-free page detection and capture to support children who struggle to hold both a book and device
- Retake capability for quality assurance
- Visual feedback during processing
2. Multilingual Translation
- Naver OCR extracts Korean text and bounding box data for accurate placement of overlays
- GPT-4o-mini provides contextually accurate, multilingual translations (English, Chinese, Vietnamese)
- Child-friendly language adaptation for easy comprehension
- Translation overlay rendered near original text using extracted bounding boxes
3. Emotionally Expressive Text-to-Speech (TTS)
- GPT-4o-mini infers emotional context (e.g., “whisper suspensefully”) from translated text to guide voice delivery
- Sentiment-aware narration for engaging storytelling
- Multiple voice options (male/female) with preview before reading
- High-quality audio output and individual text segment playback
4. Interactive Reading Experience
- Page-by-page navigation
- Movable translation bounding boxes
- Individual audio segment playback
- Multi-page session support
- Visual reading progress
5. Story Library
- Session saving
- Cover image storage
- Session metadata (title, translated title, date created)
- Easy access to past stories
6. Reading Analytics
- Total pages read tracking
- Total words read counting
- Reading time measurement
- Story keyword extraction
- Interactive summary presentation
7. Onboarding & Preferences
- Tutorial (10 screens)
- Language selection (initial and changeable)
- Voice preference selection
- Settings management
- Child-friendly UI/UX
| Category | Description |
|---|---|
| General Audience | Families and educators seeking inclusive reading solutions for children from multicultural backgrounds in Korea. |
| Primary Target Users | Multicultural kindergarten children (ages 5–7) who find Korean picture books difficult to understand, along with their parents and kindergarten teachers who support bilingual learning. |
| Specific Use Case | StoryBridge is primarily used in kindergarten classrooms where Korean and multicultural children read together. When other students read Korean storybooks, StoryBridge enables multicultural children to follow the same book in their native language with emotional narration, helping them participate equally in shared reading sessions. |
| Usage Goal | To enhance comprehension, inclusion, and emotional connection through real-time translation and expressive TTS, bridging language gaps in early education environments. |
In essence, StoryBridge promotes inclusive, bilingual storytelling environments that help multicultural children in Korea enjoy reading together with their peers.
StoryBridge operates in the “Phygital” (Physical + Digital) interactive children's book market, where the main competitors focus on digital-only or fixed-content reading platforms.
However, StoryBridge is designed specifically for early education environments (kindergartens) to support inclusive bilingual reading sessions.
| Competitor Type | Example | Description |
|---|---|---|
| Digital Content Libraries | Epic!, ReadingIQ, Vooks | Subscription-based access to curated digital eBooks and audiobooks. These platforms are designed for home use rather than group reading in classrooms. |
| AR/XR Book Providers | National Library for Children and Young Adults – XR Book Play | Offers pre-produced AR/XR books that require specific content and hardware, limiting accessibility for kindergartens. |
| Enhanced Reading Apps | Kindle, Apple Books | Digital reproductions of popular books with simple read-aloud features. Not optimized for educational or bilingual classroom settings. |
| Features | Epic! | XR Book Play | StoryBridge |
|---|---|---|---|
| Supports any physical Korean picture book | X | X | O |
| Emotionally expressive TTS (for young children) | X | X | O |
| Real-time multilingual translation | X | △ | O |
| Classroom-friendly use (no subscription or extra device) | X | X | O |
| Encourages shared physical reading in kindergarten | X | X | O |
| Differentiation Factor | StoryBridge’s Unique Feature | Competitors’ Limitation |
|---|---|---|
| Content Flexibility | Works with any Korean physical picture book already available in kindergartens. | Requires purchasing new AR/XR-compatible or subscription-based digital books. |
| Classroom Integration | Enables multicultural and Korean children to read together in the same classroom through bilingual storytelling. | Designed mainly for individual, digital reading experiences. |
| Emotional TTS | Emotionally expressive narration designed for 5–7-year-old listeners, maintaining attention and empathy. | Monotone or mechanical voices lacking emotional engagement. |
| Cost Efficiency | No subscription or proprietary device needed — uses existing physical books and tablets. | Ongoing subscription fees or additional hardware required. |
StoryBridge differentiates itself by transforming any physical picture book into an interactive bilingual experience suitable for kindergarten classrooms.
Unlike digital-only platforms with fixed content or costly subscriptions, StoryBridge promotes inclusive, shared reading between multicultural and Korean children — supporting early emotional and linguistic development in real educational settings.
- The user persona is a multicultural child who is a 5-year-old child in a Korean kindergarten.
- The total number of test cases is 77.
All test cases follow the Given/When/Then format:
- Given - Initial state or precondition
- When - User action or event
- Then - Expected result or outcome
Test cases are categorized as:
- Positive - Expected behavior (happy path)
- Negative - Error handling and validation
Purpose: Initial app setup and language preference
-
Viewing Tutorial
- Given: User taps "English" button
- When: Tap “Start!” button from the language selection page
- Then: Tutorial page appears
-
Selecting Reading Preferences
- Given: User opens the app for the first time
- When: Tap "Start" button without selecting a language
- Then: See toast message "Please select a language first"
Purpose: First-time user onboarding
-
Viewing Tutorial
- Given: User taps "English" button
- When: Tap “Start!” button from the language selection page
- Then: Tutorial page appears
Purpose: Story library and navigation hub
-
Understanding and Revisiting Stories
- Given: The main page shows the newly saved session
- When: Tap the book cover
- Then: Loading page appears and then the reading page opens
Purpose: Language preference management
-
Selecting Reading Preferences
- Given: User taps the settings icon
- When: Tap "Vietnamese" button then "Back to main" button
- Then: The main page is in Vietnamese
Purpose: Narrator voice preference
-
Selecting Reading Preferences
- Given: Voice selection page is open
- When: Tap "Man" button
- Then: "Welcome to StoryBridge" audio is played in male voice
-
Selecting Reading Preferences
- Given: Voice selection page is open
- When: Tap "Woman" button
- Then: "Welcome to StoryBridge" audio is played in female voice
-
Selecting Reading Preferences
- Given: Voice selection page is open
- When: Tap "Next" button without choosing voice
- Then: “Please select a voice” toggle appears
Purpose: Image capture for cover and content pages
-
Auto-capturing Pages with Camera
- Given: "Take a photo of your book cover" page is open
- When: Tap "Start!" button
- Then: Camera mode opens
-
Auto-capturing Pages with Camera
- Given: "Now, take photos of the book pages" page is open
- When: Tap "Start!" button
- Then: Camera mode opens
-
Auto-capturing Pages with Camera
- Given: Camera mode is open
- When: Aim camera at a book page
- Then: Book page is auto-captured
-
Auto-capturing Pages with Camera
- Given: Camera mode is open
- When: Take a photo of a wordless scene (not a book cover/page)
- Then: Loading page appears then the "Too blurry!" box appears
Purpose: Interactive story reading experience
-
Understanding and Revisiting Stories
- Given: Reading page is open, and audio button is shown
- When: Tap audio button once
- Then: Audio plays
-
Understanding and Revisiting Stories
- Given: Reading page is open, and audio plays
- When: Tap audio button again
- Then: Audio stops
-
Understanding and Revisiting Stories
- Given: Reading page is open
- When: Tap and drag the text box
- Then: Text box moves
-
Interacting with Reading Summary
- Given: Congratulations page is open
- When: Tap on card
- Then: The card shows the Korean translation
Min-ji, a 5-year-old Korean-Vietnamese child living in Seoul who wants to maintain her Vietnamese language skills and cultural connection while also learning Chinese, so that she can communicate with her grandmother in Vietnam and enjoy stories in multiple languages.
User Story:
As a first-time user, I want to view a quick tutorial, so that I can understand how to use the app's core features.
Acceptance Criteria:
-
Tutorial Initiation
- Given user taps "English" button from language selection
- When user taps "Start!" button
- Then tutorial page appears
-
Tutorial Navigation
- Given tutorial page is displayed
- When user taps "Next" button on each tutorial screen
- Then next tutorial page appears in sequence:
- "Click 'Start Reading!'..." → "Take a photo of your book!"
- "Take a photo of your book!" → "Select the voice you'd like to hear"
- "Select the voice you'd like to hear" → "You can move around the text boxes"
- "You can move around the text boxes" → "Click the headphones..."
- "Click the headphones..." → "Click arrow buttons..."
- "Click arrow buttons..." → "Click 'Add New Page'..."
- "Click 'Add New Page'..." → "Click 'Finish Reading'..."
- "Click 'Finish Reading'..." → "Tap the balloons..."
- "Tap the balloons..." → "Tap the word cards..."
-
Tutorial Completion
- Given "Click 'Tap the word cards..." tutorial page is displayed
- When user taps "Let's Start!" button
- Then main page appears
User Story:
As a young reader, I want the camera to automatically capture storybook pages, so that I can stay focused on listening without needing to take photos manually.
Acceptance Criteria:
-
Camera Access
- Given user is on voice selection page and selected a voice
- When user taps "Next" button
- Then camera page appears with camera preview
-
Auto-Capture Functionality
- Given camera page is open with camera preview
- When user holds the camera steady over a book page
- Then the camera automatically captures the page when conditions are met
-
Image Confirmation
- Given page is captured
- When auto-capture completes
- Then captured image is displayed for user confirmation
-
Processing Indication
- Given captured image is confirmed
- When image is being processed
- Then loading indicator appears with processing status
-
Error Handling - No Text Detected
- Given user captures an image
- When OCR detects no text on the page
- Then error message "Too Blurry" appears
User Story:
As a young, multicultural reader, I want to customize my reading experience by choosing my preferred reading language (English/Chinese/Vietnamese) and selecting a narrator voice (e.g., male or female voices), so that I can enjoy stories in a language I'm learning and listen in a voice that feels comfortable to me.
Acceptance Criteria:
-
Initial Language Selection
- Given user opens the app for the first time
- When user taps on a language button ("Vietnamese", "Chinese", or "English")
- Then the button changes color to indicate selection
-
Language Selection Validation
- Given user has not selected any language
- When user taps "Start!" button
- Then toast message "Please select a language" appears
-
Voice Selection
- Given voice selection page is open
- When user taps "Man" or "Woman" button
- Then "Welcome to StoryBridge" audio sample plays in selected voice
-
Voice Selection Validation
- Given voice selection page is open
- When user taps "Next" without choosing a voice
- Then "Please select a voice" toast message appears
-
Language Change from Settings
- Given user is on main page
- When user taps settings icon, selects new language, and taps "Back to main"
- Then main page UI changes to selected language (Vietnamese/Chinese/English)
-
Settings Navigation
- Given user is in settings
- When user taps "Back to main" button
- Then user returns to main page
-
Voice Preview for Each Option
- Given voice selection page is displayed
- When user taps each voice option (Man/Woman)
- Then corresponding audio preview plays for that voice
User Story:
As a young language learner and reader, I want to listen to emotionally expressive TTS, view translations, and save completed stories to my library, so that I can better understand and connect with the story and easily revisit my favorite tales without recapturing pages.
Acceptance Criteria:
-
Reading Page Display
- Given image has been processed successfully
- When user proceeds from camera page
- Then reading page appears with captured image and translation overlay
-
Translation Visibility
- Given reading page is displayed
- When page loads
- Then translated text appears in bounding boxes over original text
-
Audio Playback
- Given reading page is displayed with translations
- When user taps headphone icon
- Then TTS audio plays for the current page with emotional expression
-
Bounding Box Movement
- Given reading page has bounding boxes
- When user drags a bounding box
- Then the box moves to the new position
-
Page Navigation - Next
- Given user is on a reading page
- When user taps right arrow button
- Then next page appears
-
Page Navigation - Previous
- Given user is on a reading page (not the first page)
- When user taps left arrow button
- Then previous page appears
-
Adding New Pages
- Given user is on the reading page and the top and bottom navigation bars are shown
- When user taps "Add New Page" button
- Then camera page appears to capture the next page
-
Story Library - Session Saving
- Given user completes a reading session
- When user taps "Finish Reading"
- Then the save/discard page opens
-
Story Library - Access
- Given user has saved stories in library
- When user accesses library from main page
- Then list of saved stories appears with cover images and titles
-
Story Library - Resume Reading
- Given user has a saved story in library
- When user selects a story from library
- Then story opens
-
Audio Quality
- Given TTS audio is playing
- When audio plays
- Then voice quality is clear and emotional expression matches text sentiment
-
Translation Accuracy
- Given page has been processed
- When translations are displayed
- Then translated text accurately represents original text meaning
-
Multi-page Session
- Given user has captured multiple pages
- When navigating between pages
- Then each page retains its translation and audio data
User Story:
As a young reader, I want to interact with a fun summary screen that shows my reading statistics (pages, words, time) and keywords from the story, so that I feel encouraged and can understand what I've learned.
Acceptance Criteria:
-
Accessing Summary
- Given user is on a reading page
- When user taps "Finish Reading" button
- Then summary page appears
-
Reading Statistics Display
- Given summary page is displayed
- When page loads
- Then displays:
- Total pages read
- Total words read
- Total time spent reading
-
Keyword Display
- Given summary page is displayed
- When page loads
- Then story keywords are displayed in an engaging visual format
-
Summary Persistence
- Given user has completed a reading session
- When user views story from library
- Then can access previously generated summary
Total User Stories: 5
Total Acceptance Criteria: 77 test cases
- Viewing Tutorial: 9 test cases
- Auto-capturing Pages with Camera: 12 test cases
- Selecting Reading Preferences: 18 test cases
- Understanding and Revisiting Stories: 23 test cases
- Interacting with Reading Summary: 15 test cases
Note: All acceptance criteria are derived from the User Acceptance Testing (UAT) document and represent actual test cases that have been defined for the application.
- Goal: Minimize the time delay between a user capturing a page and the system delivering the interactive audio/visual experience.
- Optimization: Introduce parallel processing in the translation-emotion analysis-TTS (Text-to-Speech) pipeline. This will allow the system to initiate emotional analysis and TTS generation immediately after the translation output is received, significantly reducing the overall perceived response latency.
- Goal: Customers data will be encrypted when stored, and will not be accessible to third-parties without customers consent.
- A service named "STORY BRIDGE" appears
- handling of failure cases: If there is no internet connection, the service will show pop-up alerting the user that an internet connection is required to proceed.
- A text prompt appears asking for the native language (or mother tongue).
- Language buttons for the languages supported by the service appear. Tapping a button moves to the main page.
- Currently supporting English, Chinese, and Vietnamese.
- This screen appears only when the app is launched for the first time. The language can be changed later in Settings.
- Top Navigation Bar
- A button to access the Settings screen is located on the right.
- Below the title "Previous Sessions," past learning records are displayed in a card format.
- The book cover image, title (name), and learning date are shown.
- Tapping a book cover allows you to continue reading from where you left off.
- Each book card has a Discard button (trash icon) to remove the reading session from the list.
- The most recently read books appear first.
- Start New Reading button at the bottom to begin a new reading session.
- Instruction text "Take a photo of your book cover" is displayed.
- A Start! button appears at the bottom.
- Tapping the Start! button navigates to the Camera Page for taking a photo of the book cover.
- Used for both cover and content page capture.
- Automatic capture and warping in conjunction with the camera API (ML kit).
- handling of failure cases: An instructional message is displayed in the position of the bottom button (e.g., "Fit the page to the screen").
- For cover capture: Once the capture is complete, a "Next" button appears.
- Similar layout to Language Selection Page.
- User can choose their voice preference for every reading session.
- Male and Female voice options are displayed.
- Before selecting, the user can preview each voice reading "Welcome to StoryBridge", helping them decide which voice they prefer.
- After selection, navigates to the Content Instruction Page.
- Instruction text "Now, take photos of the book pages" is displayed.
- A Start! button appears at the bottom.
- Tapping the Start! button navigates to the Camera Page for taking a photo of the content page.
- A loading animation is displayed while the app processes the scanned page.
- OCR extraction, translation, and TTS preparation occur during this time.
- The translated text is presented on a white background.
- A play button is located in the top-right corner of the text box. It is initially disabled and becomes active once the TTS function has loaded.
- Tapping the page reveals the top and bottom navigation bars.
- Top Navigation Bar: Contains a Menu button and an Exit button.
- Bottom Navigation Bar: Contains a Start New Capture button. Tapping this button moves to the camera screen. If there are previous capture records, a button or option to navigate to them will also be available (implicitly needed for navigation to past captures).
- Tapping the Menu button opens an overlay from the left, showing previous capture history as images. This section is scrollable.
- Tapping an image navigates the user to that specific page. Translation and TTS are provided on this page, and the rest of the UI remains the same.
- Click the Finish Reading button to navigate to this page.
- A learning report is displayed showing reading progress (pages, word counts, minutes).
- Congratulations message "Congratulations! You read..." appears.
- The message shows the word counts, pages, time one by one after popping each balloon.
- The keyword cards appear after popping all of the balloons.
- By tapping the keyword cards you can flip the cards and see the Korean translation.
- A Next button appears at the bottom to proceed to the Save Decision Page.
- Question "Do you want to save this session?" is displayed.
- Two buttons appear: 'Save' and 'Discard'.
- Tapping 'Save' saves the reading session to the previous reading list.
- Tapping 'Discard' discards the reading session.
- After making a decision, the Go Back to Main button appears at the bottom.