EduMap is an AI-powered tool that transforms lecture audio into structured, visual mindmaps.
- Transcribe Audio: Uses Assembly AI to convert uploaded or recorded MP3/WAV into text
- Extract Concepts: A DSPy
MindmapExtractormodule identifies central topics & subtopics - Generate Mindmap: JSON structure is turned into a mindmap using Graphviz
- Render & Display: Visual shown in real-time via Streamlit
| Layer | Tool/Library |
|---|---|
| Transcription | Assembly AI |
| LLM Based Extraction | Gemini, DSPy |
| Visualization | Graphviz (graphviz.Digraph) |
| UI | Streamlit |
| API Server | FastAPI (for extraction endpoint) + Render (Deployment) |
- Clone this repo
git clone https://github.com/its-bhavya/edumap.git
cd edumap- Install Dependencies
pip install -r requirements.txt- Install Graphviz
# Ubuntu/Debian
sudo apt install graphviz
# macOS
brew install graphviz
# Windows (use choco or installer from official site - https://graphviz.org/download/)
choco install graphviz- Setup Environment Variable with Gemini API Key
Create a .env file:
GOOGLE_API_KEY=your_gemini_key
ASSEMBLY_API_KEY=your_assembly_api_key- Run the App
a. Start the FastAPI backend (DSPy Extractor):
uvicorn backend.main:app --reloadb. Start the Streamlit frontend:
streamlit run frontend/main.py



