Inspiration
As a student, I constantly get slides and course materials from teachers that are unclear, rushed, or just not polished — dense jargon with no definitions, implicit prerequisites nobody explains, ambiguous passages that leave half the class confused. I got tired of it, so instead of just complaining, I decided to build Koro: a system that takes any lesson, however messy, and turns it into a clean, clear, pedagogically solid course — complete with a rewritten lesson, exercises, and a recap sheet — automatically.
What it does
A teacher (or student) drops in a lesson. A roster of AI student-agents — spread across three simulated classes with distinct mastery levels (N0 to N6) and cognitive styles (the Struggler who flags missing prerequisites, the Overthinker who hunts ambiguity, the Skeptic who demands evidence, the Impatient who judges relevance) — reads and reacts to it in real time. A diagnostician teacher-agent aggregates their feedback, a rewriter agent rewrites the lesson to fix what broke, a fact-checker validates the rewrite, and downstream agents generate assessments, exercises, and a clean revision sheet — all driven by the diagnosis and visible live as a streaming SVG classroom scene, token by token per agent.
How I built it
I'm building it with Mastra, a TypeScript agentic framework, on top of Next.js 16 (App Router) and React 19. The pipeline is a typed Mastra workflow with six Zod-validated steps: simulate (parallel student agents) → diagnose → rewrite → fact-check the lesson → produce assessments/exercises/sheets in parallel → fact-check the production. Each agent streams its output over SSE, and the frontend renders it live as animated SVG circles with dialogue bubbles. To keep the demo reliable and budget-safe, I'm building a deterministic mock model layer so the full loop runs with zero API keys, with a real multi-provider mode (Anthropic, OpenAI, Google, DeepSeek) that I can flip on live, routing stronger models to the subtler student profiles.
Challenges I ran into
Orchestrating 15-18 concurrent agent calls without drowning in cost or latency is the main challenge, so I'm capping concurrency and giving each agent a structured Zod schema to keep output consistent even when streamed as partial JSON. Designing distinct, believable cognitive profiles that actually surface different categories of lesson flaws (missing prerequisites vs. ambiguous phrasing vs. undefined jargon) rather than redundant feedback is also proving to be more of a prompt-engineering problem than an infrastructure one. I also want resilience baked in: if a student agent's call fails, the class continues; if a teacher agent fails, it falls back to the deterministic mock engine so the loop always completes.
Accomplishments that I'm proud of
Getting a genuinely multi-agent (not just multi-prompt) pipeline to run end-to-end in a live, visual, streaming way — and to work convincingly even with zero API keys via the mock mode — would be a real achievement for a hackathon timeframe.
What I learned
That the interesting part of "agentic" isn't calling an LLM multiple times — it's designing agent roles with genuinely different incentives and blind spots so that the aggregate signal is richer than any single model's opinion.
What's next for Koro
Real cross-loop memory so agents remember previous lessons, a true model-router fallback across providers, server-side PDF export, and eventually plugging in real classroom data to validate whether the simulated diagnoses match what actual students struggle with.
Built With
- chatgpt
- claude
- deepseek
- mastra
- next.js
- typescript
Log in or sign up for Devpost to join the conversation.