An interactive, XMind-style mind map that renders live from the SEO Google Sheet. Built with Streamlit + jsMind.
Hierarchy (from the Internal Links tab):
Content Strategy (root)
└─ Themes → Level 1 (column "Themes")
└─ sx → Level 2 (column "sx")
└─ Keyword → Level 3 (column "Keyword")
Each keyword leaf carries its Volume, Content Type, Page Title and URL
(shown on hover; double-click a leaf to open its URL).
- Live sync from Google Sheets (auto-refresh ≤ 60s + manual Refresh button).
- Expand / collapse all, wheel-zoom, drag empty space to pan.
- Search box highlights matching nodes and reveals their branch.
- Branch colours grouped by theme.
pip install -r requirements.txt
# put your service-account JSON values into .streamlit/secrets.toml
# (copy .streamlit/secrets.toml.example)
streamlit run app.py- Go to https://share.streamlit.io → New app.
- Repository:
khanhvo2172-dotcom/mindmap-app· Branch:main· Main file:app.py. - Advanced settings → Secrets: paste the
[gcp_service_account]block (see.streamlit/secrets.toml.example) filled with your real key. - Deploy. It auto-redeploys on every push to
main.
The Google Sheet must be shared as Viewer with the service-account email:
google-drive-files-editor@focused-outlook-465107-u9.iam.gserviceaccount.com
SHEET_ID/WORKSHEET— inapp.py.- Column names, root label, colours — in
mindmap.py.