Inspiration
The idea for this project came from a problem I kept experiencing every day: preparing for exams and assignments that required going through 100+ pages of material. I often spent 5–6 hours, sometimes even an entire day, just trying to understand the concepts, pushing through burnout with nothing but determination.
Over time, I realized that the issue wasn't my ability to learn, but the way the concepts were presented. Ideas were scattered across pages and the relationships between them were never made explicit. I needed a better structure: something that helped me grasp concepts quickly, focus more on practice, and then loop back for reinforcement. When I talked to my friends, many of them international STEM students, they had exactly the same problem.
What It Does
FlowMind is a single website with no setup. Drop in lecture PDFs, slide decks, Word documents or notes, and it builds:
- An interactive concept map. Core concepts become nodes, and prerequisite, part of and example of links become edges, so you can see what to learn first.
- An AI tutor you can trust. Every answer is drafted only from your sources and cited to the exact page or slide. A Critic agent checks it before you see it and sends unsupported drafts back for revision automatically. There are Explain, Socratic and Simplify modes, and answers in 12 languages, including Sinhala and Tamil.
- Cited study summaries. A TL;DR, structured sections and key terms, with every bullet linked to its source passage.
- Adaptive practice. Quizzes and flashcards whose answer keys the Critic re-checks. Your answers mark concepts as mastered or struggling on the map, and the tutor takes extra care with the ones you struggle on.
Several files combine into one library. For example, my FlowMind slide deck and pilot-study report become a single concept map.
How I Built It
FlowMind follows a dual-swarm multi-agent design:
- Ingestion swarm. A Parsing Agent runs in the browser (pdf.js for PDFs, direct XML parsing for PPTX/DOCX) and keeps a page or slide locator on every passage. Passages are indexed with embeddings. A Concept Extraction Agent reads them in batches, and a Relationship Mapping Agent links the concepts into a graph, drawn with React Flow and dagre.
- Pedagogy swarm. Hybrid retrieval blends embedding similarity, BM25 keyword search and prerequisite concepts from the graph. The Teaching Agent drafts a cited answer, and the Critic Agent scores it for factual drift and grounding. Up to three drafts are made before anything reaches the learner, and every stage streams live to the UI.
- Stack. It's one Next.js 15 / React 19 / TypeScript app with API routes, Tailwind, and KaTeX for maths. A provider-neutral model client works with OpenRouter or Mistral. The workspace is stored in the browser (IndexedDB), so documents never sit on a server.
- Quality. There are unit tests, CI, and Playwright end-to-end tests. I also wrote a grounding benchmark (
npm run bench) that scores every agent.
Challenges We Ran Into
- Keeping answers grounded. Raw model output often "helpfully" added facts that weren't in the lecture. The Critic loop fixed this, sending 25–38% of first drafts back for revision in the benchmark.
- LaTeX inside JSON. Models wrote
\fracand\partialinside JSON, which broke parsing or silently corrupted formulas. I built a LaTeX-aware JSON repair step with its own tests. - Free-tier limits. Free model endpoints rate-limit hard, so FlowMind now falls back to keyword + graph retrieval instead of failing.
- Graph readability. A 4-page lecture produced 48 concepts. The map now opens on the 24 core concepts and picks the layout direction that fits the screen.
Getting all the components to run smoothly in parallel, and managing the flow of data between the agents, took a lot of iteration and debugging.
Accomplishments That We're Proud Of
On a grounding benchmark with 14 answerable questions and 5 questions the lecture doesn't cover:
| Metric | Result |
|---|---|
| Key concepts found | 93% |
| Tutor answers correct | 100% |
| Out-of-scope questions declined (no invented answers) | 100% |
| Answers with valid citations | 100% |
| Final answers passing the Critic | 100% |
| Answers in the requested language | 100% |
| Quiz answer keys correct | 100% |
The benchmark drove real improvements. The first run found only 57% of key concepts and crashed on one answer; fixing both came straight from its results. It's a small benchmark on one lecture, and the full method and caveats are in the repo.
What I Learned
Building with generative AI is exciting, but also demanding. Raw AI output needs retrieval, verification and shaping before it becomes genuinely useful. This project taught me the importance of iterating, filtering and measuring: the benchmark showed exactly which agent was weak.
I initially set out to solve a personal problem without thinking about a broader audience. But after talking to my friends, I realized they were facing the exact same challenges. Solving my own pain point ended up creating something meaningful for others too.
Time management was another major lesson. With only 48 hours at the hackathon, I spent more time refining ideas and perfecting the UI than building features. Finding the balance between aesthetics and functionality shaped the architecture and direction of the project.
What's Next for FlowMind
- Let friends use FlowMind for an entire semester to see whether it improves study efficiency, reduces burnout and boosts academic performance.
- OCR for scanned PDFs, and understanding diagrams.
- Spaced repetition driven by the mastery map.
- Shared class libraries, so a whole course can study from one concept graph.
Updated September 2026: FlowMind was rebuilt from the original hackathon prototype into a single working web app with the agent pipeline, benchmark and tests described above.
Built With
- katex
- mistral-ai
- nextjs
- openrouter
- pdf.js
- playwright
- python
- react
- react-flow
- tailwindcss
- typescript
Log in or sign up for Devpost to join the conversation.