AI English Learning Platform โ Technical Workshop for Educators
Modular pageComponents/ directory structure with CSS Modules preventing style leakage between Authentication, Assessment, Course Adventure, and Live Translation modules.
20 mascot variants as functional UI components communicating learning modes in real-time. Color-coded by cognitive domain: Green (Media), Blue (Analytical), Yellow (Creative), Orange (Communication).
8-dimension learner profiling driving content adaptation. Assessment data flows into Vocabulary Builder, Conversation Role Play, Reading Comprehension, and Live Translation configuration.
app.thinkandspeak.com (Live) ยท uat-app.thinkandspeak.com (Testing) ยท Test Accounts: test_teacher@seechange-edu.com / Aa123456
The file path src/pageComponents/account/pages/login/index.module.scss reveals a CSS Module architecture that generates unique hashed class names, preventing style conflicts between the login interface and other modules.
.module.scss extension signals scoped styling isolated from global stylesheetspageComponents/ directory structure in Next.js colocates styles with their respective componentstest_teacher@seechange-edu.com vs test_student1@seechange-edu.com)@apply directives compose Tailwind utilities into semantic classes within SCSS modules.mobile, .tablet selectors for breakpoint-based responsive adaptations$color-primary-900, $color-neutral-800 ensuring brand consistency0px 12px 24px 0px rgba(46, 42, 91, 0.1)The 20 mascot variants are functional UI components โ not decoration. Each character communicates learning modes in real-time, reducing cognitive load through consistent visual cues. Research shows friendly visual characters increase student engagement by up to 40% in language learning contexts.
The platform implements a calculated color-psychology gradient system mirroring cognitive development stages โ cooler blues for concrete operational thinking, warmer oranges for abstract reasoning maturity.
$age-primary-6-8, $age-primary-9-11, $age-primary-12-14, $age-secondary-15-17, $age-adult-18data-age-group attribute selectorsImmediately post-login, users encounter the personalized assessment interface. This is NOT a test โ it's a preference profile that helps the platform understand how each student learns best.
6-8, 9-11, 12-14, 15-17, 18+ โ adapts content delivery and interface complexity
1-10 scale with detailed descriptors โ determines content difficulty across all modules
11 topic categories โ Space & Science, Animals, Sports, Music, Technology, Books...
8 methods โ Games, Stories, Speak & Act, Videos, Solo Study...
Debate Hero ยท Story Explorer ยท Game Master ยท Creative Writer ยท Active Speaker ยท Visual Learner ยท Deep Reader ยท Social Learner ยท Independent Thinker
Each persona maps to specific content delivery templates and mascot emotional states.
Travel & Explore ยท Watch Shows/Youtube ยท Career Goals ยท Academic Success ยท Social Connection ยท Entertainment ยท Self-Improvement ยท HKDSE Preparation
Motivation factors determine content relevance scoring and recommendation algorithms.
Mathematics ยท Science ยท Biology ยท Chemistry ยท Physics ยท History ยท Geography ยท Economics ยท Business Studies ยท Literature ยท Music ยท Art ยท PE ยท Computer Science ยท General Studies ยท Religious Studies ยท Philosophy ยท Psychology ยท Sociology ยท Environmental Science ยท Astronomy ยท Law Basics
HKDSE-relevant subjects ensure English learning connects to academic success.
White rounded-rectangle containers with directional tails pointing toward the mascot. Implements conversational UI patterns supporting dynamic welcome messages and contextual help.
border-radius: 24px creates soft, friendly container shapefilter: drop-shadow() for floating dialogue effectclip-path or ::after pseudo-element triangleszh-CN activates Image 19 (Simplified Chinese mascot) stylingzh-HK / zh-TW activates Image 20 (Traditional Chinese mascot) stylingbackdrop-filter: blur() effects keep login form legible during animations[dir="rtl"] qualificationsHong Kong students frequently access content on smartphones during MTR commutes โ mobile optimization ensures vocabulary practice integrates naturally into daily routines.
useBreakpoints hook for conditional rendering (imgBubble desktop vs imgBubbleMobile mobile):global(.mobile) & nesting patternstransform: translateY(2px) + box-shadow reduction on :active56px for ruggedized school tablets)onContextMenu handlers prevent accidental triggers during long-press recording cancel
The combination of age badges and emotional mascot states creates a progressive onboarding system where localStorage or secure cookies remember user preferences for seamless daily access.
.returning-user modifier: faster transitions (600ms โ 300ms) for students who completed Assessment.new-user classes: elaborate mascot introduction animations for first-time users.mascot-state--frustrated, .mascot-state--tired, .mascot-state--celebratoryAfter failed auth โ empathetic support
Late-hour โ break reminders
Achievement โ positive reinforcement
Error states โ alerting feedback
content-visibility: auto defers mascot animations for rapid load on limited bandwidth
contain: layout style paint isolates form from CJK font loading reflows
image-set() with WebP/AVIF + PNG fallbacks for mascot delivery
will-change: transform for 60fps mascot animations on school devices
will-change compositor hintsbtoa()) for iframe authenticationapp.thinkandspeak.com) โ real student datauat-app.thinkandspeak.com) โ teacher training sandbox.focusVisible polyfill ensures tab navigation through age-selection badges (6-8, 9-11, etc.)outline properties provide clear focus indicators for motor control considerations@media (prefers-reduced-motion) queries respect user preferences.interactionZone wrappers with :focus-within logging hesitation data for learning analysis| Feature | Status |
|---|---|
| WCAG 2.1 AA Compliance | โ Active |
| Keyboard Navigation | โ All Controls |
| Screen Reader (ARIA) | โ aria-labels |
| High Contrast Mode | โ Toggle Support |
| Reduced Motion | โ Media Query |
| Touch Targets 44px+ | โ Verified |
Immediately post-authentication, users encounter the personalized assessment interface. This is not a separate system โ it is seamlessly integrated into the login flow, making profiling feel like part of the welcome experience.
callPromptToAi for semantic analysis beyond exact matching โ evaluating conceptual correctness, not just keyword presence.
| Feature | Exam Mode | Guide Mode |
|---|---|---|
| Timer | 90-min countdown | Hidden |
| Hints | Disabled | AI Coach enabled |
| Scoring | Immediate on submit | Real-time feedback |
| Color Theme | Orange accent | Green accent |
| Use Case | HKDSE simulation | Learning & practice |
activePaperSessionId persistenceen-US primary source
yue-HK traditional
zh-CN simplified
translationText: Record<string, string> supporting simultaneous multi-language renderingStorageKey.historyMessages enables session transcript storageattendingStudentIds and invitedStudentIds for real-time presenceEvery class becomes a structured, reusable learning asset.
useCallGetUserDashboard โ custom API hook for real-time data fetchinguseModuleGuardian โ access control for proper module sequencingAssessment โ Personalization โ Activity โ Analytics โ Improvement โ This closed loop creates continuous, self-reinforcing learning growth.
Think & Speak โ See Change AI English