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.

Share this project:

Updates