Inspiration
By 4th and 5th grade, classrooms split into kids who are coasting and kids who are quietly falling behind — and most learning software treats them identically, serving the same worksheet at the same pace no matter what's actually happening in a student's head. The instant a 10-year-old gets bored or hits a wall, they disengage, and nothing on the screen notices. Meanwhile teachers are stretched across 25+ students and spend hours turning what they observe into standards-aligned progress notes by hand. We wanted one session to do both: meet each student where they are in real time, and generate the teacher's documentation automatically.
What it does
EchoMind is a web-based learning platform for 4th–5th graders. Students move through a journey-style skill path — Khan Academy structure, Duolingo reward system — across 18 standards-aligned concepts in three domains (Math, Language & Literacy, and Approaches to Learning / critical thinking).
Behind every session, six specialized AI agents run in concert:
- Sensor Agent — scores engagement every 3 seconds from response latency and interaction rhythm, relative to a per-student baseline.
- Intervention Agent — when engagement drops, it shifts the experience (pacing, format, a fresh challenge, a reset) before the student checks out — no reload, no visible cut.
- Curriculum Agent — sequences concepts through each student's zone of proximal development via a prerequisite concept graph, deferring concepts a student is struggling with and advancing the ones they've mastered.
- Memory Agent — at session end, persists mastery, XP, and streaks, and auto-writes a standards-aligned teacher summary plus a warm, plain-language parent update.
- Screen Monitor Agent — tracks answer-zone accuracy and interaction patterns to drive rewards and feed difficulty signals back to the curriculum.
- Question Generator Agent — generates a fresh batch of 5 questions for every lesson with Claude Haiku, so no two lessons repeat and students can't just memorize the bank.
The student gets a lesson that adapts to them; the teacher gets standards-aligned documentation from the same session.
How we built it
- Backend: Python (FastAPI + Uvicorn), with the six agents orchestrated via LangGraph. Real-time signals (engagement, interventions, screen activity, reward feed) stream over WebSockets, with Redis for pub/sub and question caching. State persists through SQLAlchemy + Alembic migrations.
- AI: Claude Haiku for fresh question generation via structured tool-use output (validated against a strict Pydantic schema with retry + deterministic fallback); additional LLM routing for concept sequencing and report generation.
- Frontend: React 19 + TypeScript on Vite, with Zustand for state, Framer Motion for the animated journey and rewards, and Recharts for the teacher dashboard. Screens flow Start → Domain Hub → Snake Path → Lesson → Lesson Complete.
- Testing: pytest across the backend agents, Playwright for the frontend.
Challenges we ran into
- Tuning intervention timing. Reacting too fast made the experience thrash; too slow and the student was already lost. We landed on debounced thresholds, a hard floor for severe disengagement, and a 45-second cooldown to prevent flapping.
- Reliable, grade-appropriate questions on demand. Generated questions had to be schema-perfect and hit 4th–5th grade difficulty every time. We added strict Pydantic validation, a single retry, and a deterministic seed-question fallback so a lesson nev
- Keeping six agents in sync without stepping on each other. Each agent has a single responsibility and a clean contract — the Sensor Agent has zero curriculum knowledge, the Memory Agent is the only writer to the DB — so signals flow one direction
- Real-time without jank. Adaptive shifts had to land as smooth React state changes over WebSocket, with no reload or visible cut.
- XP/streak edge cases — avoiding double-counting mastery XP across repeatd-day streak resets correctly.
Accomplishments that we're proud of
- A genuinely real-time adaptive loop — engagement sensed, lesson reshapedjust static if/else branching.
- Every lesson is unique, generated fresh by Claude rather than pulled from a static bank, so kids engage with the material instead of gaming it.
- Teacher documentation that writes itself, mapped to grade-level standard
- A clean six-agent architecture where each agent does one thing well — understandable, testable, and extensible.
- A polished, genuinely fun Duolingo-style journey with a layered reward sted XP and streaks).
What we learned
- Single-responsibility agents beat one big prompt. Splitting sensing, decg into separate agents made the system far easier to debug and reasonabout.
- The right model for the job. A fast, cheap model (Claude Haiku) with strfect for high-volume question generation — speed and schema reliabilitymattered more than raw capability.
- Design for the failure case first. Validation, retries, and deterministie between a lesson loading and a student staring at a broken screen.
- Engagement signals are subtle. For this age group, disengagement looks different from genuine difficulty, and separating the two was key to intervening at the right moment.
What's next for EchoMind
- Deeper subject coverage — expand beyond the initial 18 concepts into full 4th–5th grade math and ELA scope and sequence.
- Richer sensing — incorporate more behavioral and on-device signals to dey and interaction rhythm.
- Longitudinal insights — trend dashboards showing each student's trajectory across weeks, not just one session.
- Classroom mode — a live teacher view of who needs help right now across
- Standards flexibility — configurable, region-specific standards (Common Core and state frameworks) so any district can map content to its own requirements.
- Pilot with a real 4th/5th grade classroom to validate both the learning ime savings.
Log in or sign up for Devpost to join the conversation.