Every teacher has experienced that moment - you finish explaining a concept, ask "any questions?", and get silence. But half the class is lost. The problem is that teachers can't see comprehension breaking down in real time, and by the time test scores come back, it's too late.
We asked: what if a teacher could simulate an entire classroom of students before teaching the lesson? What if you could see the exact sentence where the distracted student zones out, where the anxious student panics, and where the overconfident student misses a nuance?
That's Lucida - a lesson clarity engine that gives teachers x-ray vision into their own teaching.
What it does
Lucida takes any lesson content - pasted text, uploaded documents (PDF, PPTX, DOCX), audio/video recordings, or even live mic recordings
- and runs it through a multi-stage analysis pipeline:
- Concept Parsing - Splits the lesson into discrete concept chunks and maps prerequisites between them
- Student Simulation - Generates 500 synthetic students across 5 personality types (curious, distracted, anxious, overconfident, average) and simulates how each reacts to every chunk
- Dropout Prediction - Calculates comprehension curves with a 40% attention threshold, identifying exactly which chunks cause the most student disengagement
- Adaptive Reordering - Suggests optimized chunk ordering and generates bridge concepts to smooth difficult transitions
- Student Clustering - Groups students by failure patterns (early dropouts, mid-lesson drift, steady learners) with targeted intervention tips
- Differentiated Paths - For high-dropout chunks, generates 3 alternative versions: simplified, analogy-based, and example-rich, matched to specific personality types
## How we built it
- Frontend: Vanilla HTML/CSS/JS with a custom particle galaxy background (canvas-based vortex physics with interactive mouse tracking), inspired by the Echoes project's design language - floating pill navbar, glass-morphism cards, ornamental dividers, emerald + gold color scheme
- Document Processing: pdf.js for PDF extraction, mammoth.js for DOCX, JSZip for PPTX slide parsing
- Audio Transcription: Groq Whisper API (whisper-large-v3) for real-time audio/video transcription
- Visualization: Chart.js for comprehension curves and personality distribution charts
- Recording: Web Audio API + MediaRecorder for live lecture capture with real-time waveform visualization
- Backend Simulation: FastAPI + Python for the core lesson parsing engine with OpenAI embeddings
The entire frontend runs as a single HTML file with no build step - just open and go.
## Challenges we ran into
- Sentence-level concept detection without a full NLP pipeline was tricky - we built a heuristic parser that identifies key terms and maps prerequisites based on sequential dependency
- Making the simulation feel realistic required careful calibration of dropout curves per personality type - distracted students needed steeper early dropout, while overconfident students needed delayed but sudden comprehension collapse
- Audio extraction from video in the browser using Web Audio API + MediaRecorder has quirks across browsers - we had to test multiple MIME types and add fallbacks
- Keeping the UI performant with 150+ animated particles, real-time waveform rendering, and Chart.js all running simultaneously required careful canvas optimization
## What we learned
- Teachers don't need more data - they need the right visualization at the right moment. A single comprehension curve tells more than pages of analytics.
- Personality-type simulation is surprisingly effective at predicting real classroom dynamics - the 5 archetypes cover most student behavior patterns.
- The "bridge concept" idea - inserting transitional explanations between high-risk chunks - is something teachers intuitively do but rarely plan for systematically.
## What's next for Lucida
- Integration with LMS platforms (Canvas, Google Classroom) to analyze existing course content
- Real-time classroom mode that tracks actual student engagement and compares against simulated predictions
- Collaborative features for teaching teams to share and iterate on lesson optimizations
Log in or sign up for Devpost to join the conversation.