The Inspiration
Story Time started from a simple idea: reading practice should feel like a game, not a test.
When children are learning to read, reading aloud can be frustrating. They can get stuck on a single word, lose confidence, or feel like every mistake is being judged. I wanted to build an experience that gives children immediate, gentle feedback while keeping them motivated to continue reading.
The goal was to create a reading companion that listens to a child reading a story aloud, understands what they are saying, and helps them when they need it — without making them feel like they are being tested.
How It Works
Story Time follows the child as they read a story, one word at a time.
The app uses speech recognition to understand the words being read and matches the spoken words to the text on the screen. When a word is recognized, it is highlighted immediately, giving the child a clear visual connection between what they say and what they see.
When the child struggles, the app can gently help by reading the word aloud. Instead of showing red X's or emphasizing mistakes, the experience focuses on encouragement and progress.
I also built a fuzzy word-matching system to handle the reality of children's speech. Speech recognition is not perfect, especially with young readers, so the app needs to distinguish between a real mistake and a recognition error.
How I Built It
The app was built with React Native and Expo, with a focus on creating a fast, interactive reading experience.
The core challenge was connecting several pieces together in real time:
- Speech recognition
- Word-level matching
- Real-time text highlighting
- Audio playback for assistance
- Reading progress and feedback
- A child-friendly interface
One of the most interesting parts was building the word-matching algorithm. Instead of requiring an exact match between the recognized speech and the written word, I implemented fuzzy matching so the app can tolerate small recognition differences while still detecting when the child is actually struggling.
I also added automated tests around the matching logic to make sure improvements to recognition did not accidentally break existing behavior.
What I Learned
The biggest lesson was that building for children is very different from building for adults.
A technically correct system is not necessarily a good experience for a child. For example, aggressively marking every mismatch as a mistake might improve measurement accuracy, but it can make the experience stressful and discourage the child from continuing.
I learned to think about the system not only in terms of "Did the child say the correct word?" but also:
"Did the child feel successful and want to keep reading?"
I also learned a lot about the limitations of speech recognition with children's voices and how important it is to design around imperfect AI output rather than assuming the recognition system is always correct.
The Challenges
The hardest part was making the experience feel real-time and forgiving.
Speech recognition does not always return exactly what the child said. It can return partial phrases, combine multiple words, miss words, or misinterpret pronunciation. Young children's speech makes this even more challenging.
This meant that a simple string comparison was not enough. I had to build logic that could understand the relationship between the expected text and imperfect speech recognition results.
Another challenge was finding the right balance between helping and interrupting. The assistant should step in when a child is genuinely stuck, but it should not take over the reading experience or make the child feel that they are failing.
What's Next
The vision for Story Time is to make reading practice feel more like having a patient reading buddy than completing an exercise.
I want to continue improving the speech and word-matching experience, personalize the difficulty based on each child's progress, and give parents useful insights into where their child is improving and which words still need practice.
Ultimately, the goal is simple:
Help children practice reading, build confidence, and enjoy the process.
Log in or sign up for Devpost to join the conversation.