Inspiration
Dyslexia often goes unnoticed because screening requires in-person evaluations by specialists — a process that’s costly and inaccessible for many.
We wanted to build an AI-powered, browser-based platform that makes early dyslexia screening as simple as reading aloud in front of a webcam and microphone — no clinic visits or special hardware required.
What it does
Dystrace is an AI platform that analyzes how users read, look, and comprehend text to estimate their potential risk of dyslexia.
It integrates three key components:
- Speech Analysis: Uses OpenAI Whisper to transcribe reading audio and measure pronunciation accuracy and fluency.
- Eye Tracking: Leverages WebGazer.js to capture fixation duration, regression counts, and real-time gaze patterns.
- ML Prediction: A Random Forest model calculates dyslexia probability (0–100%) and classifies risk as Low, Moderate, or High based on comprehension, reading speed, and accuracy.
How we built it
- Frontend: Built with Flutter Web for a responsive interface that captures both webcam and microphone input.
- Backend: Powered by FastAPI, managing Whisper transcription, gaze data processing, and ML inference.
- Speech Recognition: Integrated OpenAI Whisper API for multilingual, high-accuracy speech-to-text.
- Machine Learning: Implemented in Python (scikit-learn) — trained a Random Forest model on accuracy, duration, and comprehension features, tuned via GridSearchCV, and evaluated using ROC AUC metrics.
- Database: Firestore stores reading metrics and comprehension test results securely for each user.
Challenges we ran into
- Synchronizing eye-tracking data with audio transcription in real time — both streams operate asynchronously in the browser.
- Handling CORS and permission issues when accessing both the webcam and microphone simultaneously in Flutter Web.
- Calibrating the ML model to balance sensitivity and specificity with a relatively small labeled dataset.
Accomplishments that we're proud of
- Successfully combined Whisper, WebGazer, and ML inference into a unified, browser-based screening system.
- Achieved real-time dyslexia probability prediction using only a laptop’s camera and mic.
- Designed an intuitive, minimal UI suitable for both children and adults.
- Deployed an end-to-end ML pipeline — from data collection to inference — in one integrated web environment.
What we learned
- How to efficiently synchronize and analyze multimodal data (speech + gaze + comprehension).
- How to connect Flutter → FastAPI → Python ML into a seamless production pipeline.
- Most importantly, we learned how AI can transform accessibility and education when designed with empathy and user-centered design principles.
What's next for Dystrace
- Expand the dataset to improve model generalization and cross-language performance.
- Add adaptive reading passages and multilingual support.
- Collaborate with schools and researchers to validate Dystrace in real-world classrooms.
- Develop a teacher dashboard for tracking literacy progress and enabling early intervention insights.
Built With
- dart
- fastapi
- firebase
- firestore
- flutter
- git
- javascript
- joblib
- jupyter
- numpy
- openai
- pandas
- python
- scikit-learn
- visual-studio-code
- webgazer
- whisper

Log in or sign up for Devpost to join the conversation.