A comprehensive deep-dive into the AI-powered English learning platform designed for Hong Kong classrooms. From phoneme-level pronunciation feedback to real-time multilingual translation—discover the technology that transforms how students learn English.
The Redux toolkit manages the complete learning journey through a nested state structure. `selectThinkAndSpeak` selector retrieves module-specific state. `thinkAndSpeakActions` dispatches curriculum updates.
When a student submits their recording, the AI breaks their speech into individual phonemes and compares each against native speaker models. This is not simple "right/wrong"—it identifies exactly which sounds need work.
The `utils.ts` file reveals the phoneme-level analysis engine. The code parses Azure Speech Service JSON responses containing phoneme-by-phoneme accuracy scores, filters for practices with valid assessment data (excluding recording errors or timeouts), and implements temporal sorting to identify the most recent practice attempt for adaptive feedback.
The `VocabWordAudioContentType` definitions demonstrate a multi-modal content strategy:
The component handles potentially large word lists (1000+ items) through `useMemo` filtering with O(n) complexity. The `listDataFiltered` computation applies multiple simultaneous filter states including mastery status, practice recency, and alphabetical ordering.
The system implements a binary mastery classification: Active Learning Mode displays "Not Passed" words requiring continued spaced repetition practice. Mastery Library displays archived words exceeding the `WORD_TYPE_ARCHIVED_SCORE_MIN` threshold (80-90%) moved to "Your Library" for periodic maintenance.
Desktop (≥1024px): Full feature set with keyboard/mouse optimization. Tablet (768-1023px): Touch-optimized layouts with 44px minimum targets. Mobile (<768px): Streamlined single-column with bottom-sheet patterns.
"Every word, analyzed sound by sound—turning every class into a reusable learning asset."
Teacher Account: test_teacher@seechange-edu.com | Password: Aa123456