Built at GemiHacks 2025 | Uses Gemini 1.5 + Model Component Protocol (MCP)
Turn messy meeting transcripts into clean, visual mind maps — powered by agentic AI.
Designed to help neurodivergent users, people with ADHD, and those who are hard of hearing quickly absorb what matters.
Meetings can be overwhelming, especially for:
- 🧠 People with ADHD or cognitive disabilities
- 🧏 Individuals who are hard of hearing and rely on transcripts
- 🔁 Anyone who has trouble keeping track of follow-ups and structure
Traditional transcripts are long, flat, and inaccessible. Static summaries lose key structure. We wanted to fix that — using generative AI to transform transcripts into visual, hierarchical mind maps that are easy to follow and act on.
MindStream takes a transcript (from meetings, interviews, lectures, etc.) and converts it into a structured mind map using two modes:
- One-shot prompt to Gemini 1.5 Flash
- Transcript is sent as input
- Output is parsed as a JSON mind map
Gemini becomes an agent with tools it can call during its reasoning:
| Tool Name | What It Does |
|---|---|
extract_structure |
Extracts mind map nodes from transcript chunks |
merge_maps |
Merges new nodes into the current map structure |
agent_memory (optional) |
Recalls past user sessions to evolve the map |
Gemini uses these tools autonomously as it reasons, chunk-by-chunk, building better structured, deeper maps for long or complex transcripts.
🗂️ MindStream
├── 📄 .gitignore
├── 📄 package-lock.json
├── 📄 package.json
├── 📄 README.md
├── ⚙️ start.bat
├── ⚙️ start.sh
├── 🐍 backend
│ ├── 📄 main.py
│ ├── 📄 requirements.txt
│ ├── 📄 test_input.json
│ │
│ ├── 🧩 agent
│ │ ├── 🤖 agent_mcp.py
│ │ ├── 🎛️ controller.py
│ │ ├── 📝 scratchpad.py
│ │ └── 🛠️ tool_registry.py
│ │
│ ├── ⚙️ core
│ │ └── 📄 config.py
│ │
│ ├── 🗃️ data
│ │ └── 📄 transcript_buffer.py
│ │
│ ├── 🧠 llm
│ │ ├── 🔌 client.py
│ │ ├── ✨ prompts.py
│ │ └── 🛠️ tools.py
│ │
│ ├── 🗂️ mcp
│ │ ├── 📄 extract_structure.json
│ │ ├── 📄 get_memory.json
│ │ ├── 📄 manifest.json
│ │ ├── 🧩 memory.py
│ │ ├── 📄 merge_maps.json
│ │ └── 📄 set_memory.json
│ │
│ ├── 📐 schemas
│ │ ├── 🗃️ model.py
│ │ ├── 🗃️ node.py
│ │ └── 📄 init.py
│ │
│ └── 🛠️ utils
│ ├── 🗄️ db.py
│ └── 🧰 helpers.py
└── ⚛️ frontend
├── 📄 index.html
├── 📄 package-lock.json
├── 📄 package.json
├── ⚙️ postcss.config.js
├── ⚙️ tailwind.config.js
├── ⚙️ vite.config.js
│
└── 💻 src
├── 📄 AboutPage.jsx
├── 📄 App.jsx
├── 🖼️ Gallery.jsx
├── 🗺️ GraphPage.jsx
├── 🎨 index.css
├── 📄 index.jsx
├── 🏠 LandingPage.jsx
├── 🧩 MindMap.jsx
├── 🗺️ MindMapView.jsx
├── 🖼️ MindStream.png
└── 📄 MyMindmaps.jsx
- Gemini 1.5 Flash (
google.generativeai) - Model Component Protocol (MCP) for native tool-calling
- JSON-based schema endpoints for tools
- React + TypeScript + TailwindCSS
- React Flow for dynamic mind map rendering
- FastAPI (Python)
- MongoDB Atlas for persistence
- MCP tool schema serving via FastAPI routes
- Optional LangChain fallback agent
- 🔁 Dual mode: Classic prompt or advanced agentic reasoning
- 🧩 Tool-callable Gemini agent (extract, merge, memory)
- 🧠 Neuroinclusive UI: Visual mind maps instead of flat transcripts
- 💾 Optional memory: Persist and evolve maps across sessions
- 📚 Robust fallback parsing for malformed or unexpected outputs
You upload a 30-minute transcript of a product strategy meeting.
Gemini breaks it down, extracts branches like "Launch Plan", "Frontend Tasks", "Backend Issues", "Post-Launch Priorities", and maps relationships like a visual outline.
This is especially helpful for:
- Reviewing meetings faster
- Identifying action items at a glance
- Supporting users with cognitive accessibility needs
- How to expose real backend tools to an LLM using MCP
- Building resilient parsing logic for LLM output
- Prompt engineering for autonomous tool use
- Designing for neurodiversity and accessibility from day one
- Parsing malformed or overly verbose LLM responses
- MCP tool schema formatting (naming, inputs, types)
- Managing Gemini’s reasoning state in multi-step tasks
- Timeboxing agent responses to reduce cost and latency
- 🔊 Voice → transcript → mind map pipeline
- 🧠 Persistent vector memory for smarter long-term agents
- 🧩 Editable mind maps with LLM-guided refinement
- 📤 Export mind maps to Notion, PDF, or task systems
- 💻 Sujan Katari (Agent design, Backend, MCP integration)
- 💻 Ayaan Khan (Frontend, UI/UX Design, Graph Visualization)
- 💻 Nicholas Gonzalez (Backend, MongoDB Atlas AWS Integration, FastAPI Integration)
- ⚙️ Gemini 1.5 (Google Generative AI)
- 📚 Powered by MCP and inspiration from LangChain & LangGraph agent systems
MindStream doesn’t just summarize — it understands, organizes, and visualizes complex conversations. By turning transcripts into mind maps, it makes meetings more accessible, actionable, and inclusive for everyone.
✨ Built with purpose, powered by agents.
