Inspiration
Classrooms are built for the average student, but not every student hears, sees, or follows at the same speed. Deaf and hard-of-hearing students rely on captions that lag or don't exist. Students with attention or motor differences fall behind when a teacher talks faster than they can process. ClassBridge started from a simple question: what if the laptop already in front of every student could make the classroom accessible to all of them?
What it does
ClassBridge is a classroom accessibility copilot that runs on any standard laptop. It provides real-time live captions, gaze tracking that estimates where a student is looking, and blink detection for hands-free attention signals. It surfaces assistive support (like sign-language and caption features) right in the learning flow, so students get help without leaving the lesson or asking for special hardware.
How we built it
Frontend in Next.js + React with a gaze pipeline built on MediaPipe Tasks Vision, one-face configuration, GPU delegation where available with CPU fallback, and a 0.55 confidence threshold for stable estimates. The backend is FastAPI with routes for the classroom session, caption relay, and assistive features, backed by OCR tooling for on-screen text support. The whole thing runs client-side first, so privacy stays with the student.
Challenges we ran into
Gaze estimation is noisy on consumer webcams, lighting, glasses, and head position all wreck naive models. We iterated on calibration and smoothing to make estimates usable without being annoying. We also had to balance real-time performance against a GPU-less laptop: the pipeline needed to degrade gracefully instead of crashing.
Accomplishments we're proud of
A working accessibility stack, captions + gaze + blink detection, running in-browser with no special hardware, built on a normal student laptop. That's the whole point: accessibility that ships in the tool students already have.
What we learned
Real-time ML in the browser is a constraint puzzle: model size, frame rate, and battery all fight each other. And accessibility features only matter if they're invisible to set up and obvious to use. AI disclosure: The frontend UI was generated with Stitch and development was assisted by Claude (AI coding agent). All logic, integrations, and accessibility features were reviewed and wired by me.
What's next for ClassBridge
Sign-language recognition, teacher-side analytics for engagement, and offline captioning. And testing with real classrooms to tune the gaze thresholds against actual teaching setups
Built With
- claude
- github
- java
- python
- stitch
- typescript
Log in or sign up for Devpost to join the conversation.