Mindpalace
find it hard to understand long github repos and pdfs? struggle no more, just enter your mindpalace. mindpalace helps you understand the repo/pdf visually by providing concise explanations along with mindmaps. and the ask ai feature allows you to ask anything about it. hop into your mindpalace - understand visually, understand better
Install / Use
/learn @1rvinn/MindpalaceREADME
[!TIP] try it out here!
lately, i have been finding it really hard to go through excruciatingly long github repos and make sense of them (thanks to my reels afflicted short attention span :)).
so, i built mindpalace - a tool that allows you to to parse through github repos effectively by generating file-wise explanations, and workflow breakdowns while also generating mind maps for you to learn visually. and the rag based ask ai feature, that allows you to ask anything and everything about the repo, serves as a cherry on top. i have also extended the functionality to pdf documents.
works on any device, no api keys reqd, no downloads reqd.
https://github.com/user-attachments/assets/6a967d11-808e-473f-b4f5-30824b2c4e93
pipeline
flowchart TD;
A[user input]-->|"github repo"|B[github_scraper.py]
A --> |"pdf document"|C[pdf_ocr.py]
B-->|"content"|H
C-->|"content"|H
H["content json"]-->D[segmentor_summarizer.py]
H-->|embeddings|I[vector store]
I-->|"context"|J["ask ai rag"]
D-->|"major topics and summaries"|E[relationship_generator.py]
E-->|"relationships json"|F[generator.py]
F-->|mermaid code|G[streamlit frontend]
want to run it locally? here are the steps:
-
ensure that python, pip and git are installed
sudo apt update && sudo apt-get install python3 sudo apt-get install python3-pip sudo apt install git -
clone the github repo & cd into it
git clone https://github.com/1rvinn/mindpalace.git && cd mindpalace -
install the required libraries by creating a virtual environment
python3 -m venv .venv source .venv/bin/activate pip install -r requirements.txt -
get your api keys from gemini, mistral and github access tokem. then update them in .streamlit/secrets.toml as shown below
ACCESS_TOKEN='add your access token here' MISTRAL_API_KEY='add your api key here' GEMINI_API_KEY='add your api key here' -
run the app
python3 -m streamlit run app.py
